On Mon, 2014-12-08 at 20:40 +0000, Chris Wilson wrote:
> On Mon, Dec 08, 2014 at 06:42:05PM +0200, Imre Deak wrote:
> > This will be needed by later patches, so factor it out.
> 
> The similiar function (for drm_device) is known as to_i915(), so just
> call this dev_to_i915().
> > 
> > No functional change.
> > 
> > Signed-off-by: Imre Deak <imre.d...@intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.c  | 15 ++++++---------
> >  drivers/gpu/drm/i915/intel_drv.h |  8 ++++++++
> >  2 files changed, 14 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c 
> > b/drivers/gpu/drm/i915/i915_drv.c
> > index 71be3c9..32c2e33 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -923,10 +923,10 @@ i915_pci_remove(struct pci_dev *pdev)
> >  
> >  static int i915_pm_suspend(struct device *dev)
> >  {
> > -   struct pci_dev *pdev = to_pci_dev(dev);
> > -   struct drm_device *drm_dev = pci_get_drvdata(pdev);
> > +   struct drm_i915_private *dev_priv = dev_to_i915_priv(dev);
> > +   struct drm_device *drm_dev = dev_priv->dev;
> >  
> > -   if (!drm_dev || !drm_dev->dev_private) {
> > +   if (!drm_dev || !dev_priv) {
> 
> This test is quite nonsensical since you've dereferenced both pointers
> getting to this point. If it is required, we need a new patch.

Yep, I noticed this after Jani's comment. For now I would just leave
this part unchanged.

> 
> >             dev_err(dev, "DRM not initialized, aborting suspend.\n");
> >             return -ENODEV;
> >     }
> > @@ -939,8 +939,7 @@ static int i915_pm_suspend(struct device *dev)
> >  
> >  static int i915_pm_suspend_late(struct device *dev)
> >  {
> > -   struct pci_dev *pdev = to_pci_dev(dev);
> > -   struct drm_device *drm_dev = pci_get_drvdata(pdev);
> > +   struct drm_device *drm_dev = dev_to_i915_priv(dev)->dev;
> >  
> >     /*
> >      * We have a suspedn ordering issue with the snd-hda driver also
> > @@ -959,8 +958,7 @@ static int i915_pm_suspend_late(struct device *dev)
> >  
> >  static int i915_pm_resume_early(struct device *dev)
> >  {
> > -   struct pci_dev *pdev = to_pci_dev(dev);
> > -   struct drm_device *drm_dev = pci_get_drvdata(pdev);
> > +   struct drm_device *drm_dev = dev_to_i915_priv(dev)->dev;
> >  
> >     if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF)
> >             return 0;
> > @@ -970,8 +968,7 @@ static int i915_pm_resume_early(struct device *dev)
> >  
> >  static int i915_pm_resume(struct device *dev)
> >  {
> > -   struct pci_dev *pdev = to_pci_dev(dev);
> > -   struct drm_device *drm_dev = pci_get_drvdata(pdev);
> > +   struct drm_device *drm_dev = dev_to_i915_priv(dev)->dev;
> >  
> >     if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF)
> >             return 0;
> > diff --git a/drivers/gpu/drm/i915/intel_drv.h 
> > b/drivers/gpu/drm/i915/intel_drv.h
> > index 61a88fa..3de7a55 100644
> > --- a/drivers/gpu/drm/i915/intel_drv.h
> > +++ b/drivers/gpu/drm/i915/intel_drv.h
> > @@ -775,6 +775,14 @@ static inline unsigned int intel_num_planes(struct 
> > intel_crtc *crtc)
> >     return INTEL_INFO(crtc->base.dev)->num_sprites[crtc->pipe] + 1;
> >  }
> >  
> > +static inline struct drm_i915_private *dev_to_i915_priv(struct device *dev)
> > +{
> > +   struct pci_dev *pdev = to_pci_dev(dev);
> > +   struct drm_device *drm_dev = pci_get_drvdata(pdev);
> > +
> > +   return drm_dev->dev_private;
> 
> I think you meant 
> 
> static inline struct drm_i915_private *dev_to_i915(struct device *dev)
> {
>       return to_i915(pci_get_drvdata(to_pci_dev(dev)));
> }

Yes, looks simpler.

> -Chris
> 


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to