[Intel-gfx] [v2] drm/i915/display: Add a wrapper function for vga decode setup

Shankar, Uma uma.shankar at intel.com
Tue Sep 26 18:57:34 UTC 2023



> -----Original Message-----
> From: Nikula, Jani <jani.nikula at intel.com>
> Sent: Tuesday, September 26, 2023 4:25 PM
> To: Shankar, Uma <uma.shankar at intel.com>; intel-gfx at lists.freedesktop.org
> Cc: Shankar, Uma <uma.shankar at intel.com>
> Subject: Re: [v2] drm/i915/display: Add a wrapper function for vga decode setup
> 
> On Mon, 25 Sep 2023, Uma Shankar <uma.shankar at intel.com> wrote:
> > Some of the VGA functionality is not needed by the proposed Intel Xe
> > driver, while this will be utilized by i915.
> > Adding a wrapper function for VGA decode setup.
> 
> So, this duplicates intel_vga_set_decode() without removing the old one. Is that
> the intention?

No Jani, it's a fumble ☹. Will fix it.

> I guess the idea here is that xe doesn't build intel_gmch, so you can add a nop
> version there?

Yes right.

Regards,
Uma Shankar

> 
> BR,
> Jani.
> 
> 
> 
> >
> > v2: Addressed Jani Nikula's review comments.
> >
> > Signed-off-by: Uma Shankar <uma.shankar at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_vga.c |  2 --
> >  drivers/gpu/drm/i915/soc/intel_gmch.c    | 14 ++++++++++++++
> >  drivers/gpu/drm/i915/soc/intel_gmch.h    |  2 ++
> >  3 files changed, 16 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_vga.c
> > b/drivers/gpu/drm/i915/display/intel_vga.c
> > index 286a0bdd28c6..0f65ce115035 100644
> > --- a/drivers/gpu/drm/i915/display/intel_vga.c
> > +++ b/drivers/gpu/drm/i915/display/intel_vga.c
> > @@ -3,11 +3,9 @@
> >   * Copyright © 2019 Intel Corporation
> >   */
> >
> > -#include <linux/pci.h>
> >  #include <linux/vgaarb.h>
> >
> >  #include <video/vga.h>
> > -
> >  #include "soc/intel_gmch.h"
> >
> >  #include "i915_drv.h"
> > diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.c
> > b/drivers/gpu/drm/i915/soc/intel_gmch.c
> > index 49c7fb16e934..f32e9f78770a 100644
> > --- a/drivers/gpu/drm/i915/soc/intel_gmch.c
> > +++ b/drivers/gpu/drm/i915/soc/intel_gmch.c
> > @@ -5,6 +5,7 @@
> >
> >  #include <linux/pci.h>
> >  #include <linux/pnp.h>
> > +#include <linux/vgaarb.h>
> >
> >  #include <drm/drm_managed.h>
> >  #include <drm/i915_drm.h>
> > @@ -167,3 +168,16 @@ int intel_gmch_vga_set_state(struct
> > drm_i915_private *i915, bool enable_decode)
> >
> >  	return 0;
> >  }
> > +
> > +unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool
> > +enable_decode) {
> > +	struct drm_i915_private *i915 = pdev_to_i915(pdev);
> > +
> > +	intel_gmch_vga_set_state(i915, enable_decode);
> > +
> > +	if (enable_decode)
> > +		return VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM |
> > +		       VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
> > +	else
> > +		return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM; }
> > diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.h
> > b/drivers/gpu/drm/i915/soc/intel_gmch.h
> > index d0133eedc720..23be2d113afd 100644
> > --- a/drivers/gpu/drm/i915/soc/intel_gmch.h
> > +++ b/drivers/gpu/drm/i915/soc/intel_gmch.h
> > @@ -8,11 +8,13 @@
> >
> >  #include <linux/types.h>
> >
> > +struct pci_dev;
> >  struct drm_i915_private;
> >
> >  int intel_gmch_bridge_setup(struct drm_i915_private *i915);  void
> > intel_gmch_bar_setup(struct drm_i915_private *i915);  void
> > intel_gmch_bar_teardown(struct drm_i915_private *i915);  int
> > intel_gmch_vga_set_state(struct drm_i915_private *i915, bool
> > enable_decode);
> > +unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool
> > +enable_decode);
> >
> >  #endif /* __INTEL_GMCH_H__ */
> 
> --
> Jani Nikula, Intel


More information about the Intel-gfx mailing list