Commit c1c04560 authored by Jani Nikula's avatar Jani Nikula

drm/i915/fbdev: add intel_fbdev_framebuffer() helper

Wrap accessing struct intel_fbdev guts in a helper.

v2: s/intel_fbdev_to_framebuffer/intel_fbdev_framebuffer/g (Ville)
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220215122957.2755529-1-jani.nikula@intel.com
parent baf68214
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "intel_dp_mst.h" #include "intel_dp_mst.h"
#include "intel_drrs.h" #include "intel_drrs.h"
#include "intel_fbc.h" #include "intel_fbc.h"
#include "intel_fbdev.h"
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_pm.h" #include "intel_pm.h"
...@@ -124,9 +125,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data) ...@@ -124,9 +125,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
struct drm_framebuffer *drm_fb; struct drm_framebuffer *drm_fb;
#ifdef CONFIG_DRM_FBDEV_EMULATION #ifdef CONFIG_DRM_FBDEV_EMULATION
if (dev_priv->fbdev && dev_priv->fbdev->helper.fb) { fbdev_fb = intel_fbdev_framebuffer(dev_priv->fbdev);
fbdev_fb = to_intel_framebuffer(dev_priv->fbdev->helper.fb); if (fbdev_fb) {
seq_printf(m, "fbcon size: %d x %d, depth %d, %d bpp, modifier 0x%llx, refcount %d, obj ", seq_printf(m, "fbcon size: %d x %d, depth %d, %d bpp, modifier 0x%llx, refcount %d, obj ",
fbdev_fb->base.width, fbdev_fb->base.width,
fbdev_fb->base.height, fbdev_fb->base.height,
......
...@@ -680,3 +680,11 @@ void intel_fbdev_restore_mode(struct drm_device *dev) ...@@ -680,3 +680,11 @@ void intel_fbdev_restore_mode(struct drm_device *dev)
if (drm_fb_helper_restore_fbdev_mode_unlocked(&ifbdev->helper) == 0) if (drm_fb_helper_restore_fbdev_mode_unlocked(&ifbdev->helper) == 0)
intel_fbdev_invalidate(ifbdev); intel_fbdev_invalidate(ifbdev);
} }
struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
{
if (!fbdev || !fbdev->helper.fb)
return NULL;
return to_intel_framebuffer(fbdev->helper.fb);
}
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
struct drm_device; struct drm_device;
struct drm_i915_private; struct drm_i915_private;
struct intel_fbdev;
struct intel_framebuffer;
#ifdef CONFIG_DRM_FBDEV_EMULATION #ifdef CONFIG_DRM_FBDEV_EMULATION
int intel_fbdev_init(struct drm_device *dev); int intel_fbdev_init(struct drm_device *dev);
...@@ -19,6 +21,7 @@ void intel_fbdev_fini(struct drm_i915_private *dev_priv); ...@@ -19,6 +21,7 @@ void intel_fbdev_fini(struct drm_i915_private *dev_priv);
void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous); void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous);
void intel_fbdev_output_poll_changed(struct drm_device *dev); void intel_fbdev_output_poll_changed(struct drm_device *dev);
void intel_fbdev_restore_mode(struct drm_device *dev); void intel_fbdev_restore_mode(struct drm_device *dev);
struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev);
#else #else
static inline int intel_fbdev_init(struct drm_device *dev) static inline int intel_fbdev_init(struct drm_device *dev)
{ {
...@@ -48,6 +51,10 @@ static inline void intel_fbdev_output_poll_changed(struct drm_device *dev) ...@@ -48,6 +51,10 @@ static inline void intel_fbdev_output_poll_changed(struct drm_device *dev)
static inline void intel_fbdev_restore_mode(struct drm_device *dev) static inline void intel_fbdev_restore_mode(struct drm_device *dev)
{ {
} }
static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
{
return NULL;
}
#endif #endif
#endif /* __INTEL_FBDEV_H__ */ #endif /* __INTEL_FBDEV_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment