Re: [PATCH 5/6] drm/etnaviv: update hwdb selection logic

From: Christian Gmeiner
Date: Mon Jan 06 2020 - 05:49:20 EST


Hi Lucas

Am Mo., 6. Jan. 2020 um 11:15 Uhr schrieb Lucas Stach <l.stach@xxxxxxxxxxxxxx>:
>
> On Do, 2020-01-02 at 11:02 +0100, Christian Gmeiner wrote:
> > Take product id, customer id and eco id into account. If that
> > delivers no match try a search for model and revision.
> >
> > Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx>
> > ---
> > drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 19 ++++++++++++++++++-
> > 1 file changed, 18 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> > index eb0f3eb87ced..d1744f1b44b1 100644
> > --- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> > +++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
> > @@ -44,9 +44,26 @@ bool etnaviv_fill_identity_from_hwdb(struct etnaviv_gpu *gpu)
> > struct etnaviv_chip_identity *ident = &gpu->identity;
> > int i;
> >
> > + /* accurate match */
> > for (i = 0; i < ARRAY_SIZE(etnaviv_chip_identities); i++) {
> > if (etnaviv_chip_identities[i].model == ident->model &&
> > - etnaviv_chip_identities[i].revision == ident->revision) {
> > + etnaviv_chip_identities[i].revision == ident->revision &&
> > + etnaviv_chip_identities[i].product_id == ident->product_id &&
>
> Why not simply make this:
> (etnaviv_chip_identities[i].product_id == ident->product_id ||
> etnaviv_chip_identities[i].product_id == ~0U)
> and similar for customer and eco ID?
>
> With this we don't need two different walks through the HWDB, as long
> as the more specific entries in the DB are ordered to the front of the
> array.
>

Works for me too.. will be change in v2.

--
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info/privacypolicy