[PATCH v2 06/10] drm/i915: support struct device and pci_dev in to_intel_display()
Gustavo Sousa
gustavo.sousa at intel.com
Fri Aug 9 12:55:13 UTC 2024
Quoting Jani Nikula (2024-08-08 12:15:51-03:00)
>Now that both xe and i915 store struct drm_device in drvdata, we can
>trivially support struct device and struct pci_dev in
>to_intel_display().
>
>We do need to check for NULL drvdata before converting it into struct
>intel_device pointer, though. Do it in __drm_device_to_intel_display().
>
>v2: Add NULL check in __drm_device_to_intel_display() (Gustavo)
>
>Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com> # v1
And it stands for v2 as well.
--
Gustavo Sousa
>Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>---
> drivers/gpu/drm/i915/display/intel_display_types.h | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
>index ea6548ceab2f..976c85446603 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_types.h
>+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
>@@ -2205,7 +2205,11 @@ to_intel_frontbuffer(struct drm_framebuffer *fb)
> * intel_display pointer.
> */
> #define __drm_device_to_intel_display(p) \
>- (&to_i915(p)->display)
>+ ((p) ? &to_i915(p)->display : NULL)
>+#define __device_to_intel_display(p) \
>+ __drm_device_to_intel_display(dev_get_drvdata(p))
>+#define __pci_dev_to_intel_display(p) \
>+ __drm_device_to_intel_display(pci_get_drvdata(p))
> #define __intel_connector_to_intel_display(p) \
> __drm_device_to_intel_display((p)->base.dev)
> #define __intel_crtc_to_intel_display(p) \
>@@ -2229,6 +2233,8 @@ to_intel_frontbuffer(struct drm_framebuffer *fb)
> #define to_intel_display(p) \
> _Generic(*p, \
> __assoc(drm_device, p), \
>+ __assoc(device, p), \
>+ __assoc(pci_dev, p), \
> __assoc(intel_connector, p), \
> __assoc(intel_crtc, p), \
> __assoc(intel_crtc_state, p), \
>--
>2.39.2
>
More information about the Intel-gfx
mailing list