Message ID | 20180829003532.22878-6-lucas.demarchi@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | intel: rework how we add PCI IDs | expand |
Quoting Lucas De Marchi (2018-08-29 01:35:32) > We don't need to call IS_GEN() for each gen >= 9: we can rather use the > new intel_is_genx() helper to iterate the pciids array once. > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > --- > intel/intel_bufmgr_gem.c | 8 +------- > intel/intel_decode.c | 8 ++------ > 2 files changed, 3 insertions(+), 13 deletions(-) > > diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c > index 8c3a4b20..d6587b76 100644 > --- a/intel/intel_bufmgr_gem.c > +++ b/intel/intel_bufmgr_gem.c > @@ -3656,13 +3656,7 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size) > bufmgr_gem->gen = 7; > else if (IS_GEN8(bufmgr_gem->pci_device)) > bufmgr_gem->gen = 8; > - else if (IS_GEN9(bufmgr_gem->pci_device)) > - bufmgr_gem->gen = 9; > - else if (IS_GEN10(bufmgr_gem->pci_device)) > - bufmgr_gem->gen = 10; > - else if (IS_GEN11(bufmgr_gem->pci_device)) > - bufmgr_gem->gen = 11; > - else { > + else if (!intel_get_genx(bufmgr_gem->pci_device, &bufmgr_gem->gen)) { > free(bufmgr_gem); > bufmgr_gem = NULL; > goto exit; And while you are here, don't exit for an unknown gen, just pretend it's a future one. i915_pciids.h should contain *all* ids, even reserved, for exactly this reason. (The same behaviour is relied on elsewhere so that we don't get caught out by some one retrospectively introducing a new chip. Don't even get started on the abuse of pci-id for sub-gen encoding...) -Chris
On Wed, Aug 29, 2018 at 03:31:11PM +0100, Chris Wilson wrote: > Quoting Lucas De Marchi (2018-08-29 01:35:32) > > We don't need to call IS_GEN() for each gen >= 9: we can rather use the > > new intel_is_genx() helper to iterate the pciids array once. > > > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > > --- > > intel/intel_bufmgr_gem.c | 8 +------- > > intel/intel_decode.c | 8 ++------ > > 2 files changed, 3 insertions(+), 13 deletions(-) > > > > diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c > > index 8c3a4b20..d6587b76 100644 > > --- a/intel/intel_bufmgr_gem.c > > +++ b/intel/intel_bufmgr_gem.c > > @@ -3656,13 +3656,7 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size) > > bufmgr_gem->gen = 7; > > else if (IS_GEN8(bufmgr_gem->pci_device)) > > bufmgr_gem->gen = 8; > > - else if (IS_GEN9(bufmgr_gem->pci_device)) > > - bufmgr_gem->gen = 9; > > - else if (IS_GEN10(bufmgr_gem->pci_device)) > > - bufmgr_gem->gen = 10; > > - else if (IS_GEN11(bufmgr_gem->pci_device)) > > - bufmgr_gem->gen = 11; > > - else { > > + else if (!intel_get_genx(bufmgr_gem->pci_device, &bufmgr_gem->gen)) { > > free(bufmgr_gem); > > bufmgr_gem = NULL; > > goto exit; > > And while you are here, don't exit for an unknown gen, just pretend it's > a future one. i915_pciids.h should contain *all* ids, even reserved, for > exactly this reason. (The same behaviour is relied on elsewhere so that > we don't get caught out by some one retrospectively introducing a new > chip. Don't even get started on the abuse of pci-id for sub-gen > encoding...) This can be done as a separate series, otherwise we will just start shoving a lot of things on top of this series and never get it merged. Lucas De Marchi
diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index 8c3a4b20..d6587b76 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -3656,13 +3656,7 @@ drm_intel_bufmgr_gem_init(int fd, int batch_size) bufmgr_gem->gen = 7; else if (IS_GEN8(bufmgr_gem->pci_device)) bufmgr_gem->gen = 8; - else if (IS_GEN9(bufmgr_gem->pci_device)) - bufmgr_gem->gen = 9; - else if (IS_GEN10(bufmgr_gem->pci_device)) - bufmgr_gem->gen = 10; - else if (IS_GEN11(bufmgr_gem->pci_device)) - bufmgr_gem->gen = 11; - else { + else if (!intel_get_genx(bufmgr_gem->pci_device, &bufmgr_gem->gen)) { free(bufmgr_gem); bufmgr_gem = NULL; goto exit; diff --git a/intel/intel_decode.c b/intel/intel_decode.c index b24861b1..0ff095bc 100644 --- a/intel/intel_decode.c +++ b/intel/intel_decode.c @@ -3823,12 +3823,8 @@ drm_intel_decode_context_alloc(uint32_t devid) ctx->devid = devid; ctx->out = stdout; - if (IS_GEN11(devid)) - ctx->gen = 11; - else if (IS_GEN10(devid)) - ctx->gen = 10; - else if (IS_GEN9(devid)) - ctx->gen = 9; + if (intel_get_genx(devid, &ctx->gen)) + ; else if (IS_GEN8(devid)) ctx->gen = 8; else if (IS_GEN7(devid))
We don't need to call IS_GEN() for each gen >= 9: we can rather use the new intel_is_genx() helper to iterate the pciids array once. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> --- intel/intel_bufmgr_gem.c | 8 +------- intel/intel_decode.c | 8 ++------ 2 files changed, 3 insertions(+), 13 deletions(-)