disp: msm: sde: add cache hints support in fb

Add a cache_flag in msm_fb object to store the system cache state hints.
Writeback connector will store cache write hints if system cache write
is enabled while HW is writing into this buffer. Plane in the primary
display path, in a 2-pass composition strategy will use this cache hints
to enable the display HW to use system cache for reading the pixel data
from this buffer.

Change-Id: Iff92a453a36d4a60b5a0162832eebd5e8739b5c3
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Dieser Commit ist enthalten in:
Veera Sundaram Sankaran
2021-07-22 10:53:48 -07:00
Ursprung 993f61c91d
Commit 7cb040c3a6
4 geänderte Dateien mit 57 neuen und 8 gelöschten Zeilen

Datei anzeigen

@@ -1186,6 +1186,10 @@ void msm_gem_object_set_name(struct drm_gem_object *bo, const char *fmt, ...);
int msm_gem_delayed_import(struct drm_gem_object *obj);
#define MSM_FB_CACHE_NONE 0x0
#define MSM_FB_CACHE_WRITE_EN 0x1
#define MSM_FB_CACHE_READ_EN 0x2
int msm_framebuffer_prepare(struct drm_framebuffer *fb,
struct msm_gem_address_space *aspace);
void msm_framebuffer_cleanup(struct drm_framebuffer *fb,
@@ -1200,6 +1204,8 @@ struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
struct drm_gem_object **bos);
struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
void msm_framebuffer_set_cache_hint(struct drm_framebuffer *fb, u32 flags, u32 type);
void msm_framebuffer_get_cache_hint(struct drm_framebuffer *fb, u32 *flags, u32 *type);
struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev);
void msm_fbdev_free(struct drm_device *dev);