Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/omap: Add ovl checking funcs to dispc_ops

In order to be able to dynamically assign overlays to planes we need to
be able to asses the overlay capabilities.

Add a helper function to be able to retrieve the supported capabilities
of an overlay.

And export the function to check if a fourcc is supported on a given
overlay.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211117141928.771082-4-narmstrong@baylibre.com

authored by

Benoit Parrot and committed by
Tomi Valkeinen
0b0f7282 d484c20d

+10 -2
+7 -2
drivers/gpu/drm/omapdrm/dss/dispc.c
··· 1281 1281 return dispc->feat->burst_size_unit * 8; 1282 1282 } 1283 1283 1284 - static bool dispc_ovl_color_mode_supported(struct dispc_device *dispc, 1285 - enum omap_plane_id plane, u32 fourcc) 1284 + bool dispc_ovl_color_mode_supported(struct dispc_device *dispc, 1285 + enum omap_plane_id plane, u32 fourcc) 1286 1286 { 1287 1287 const u32 *modes; 1288 1288 unsigned int i; ··· 2487 2487 *core_clk = dispc->feat->calc_core_clk(pclk, in_width, in_height, 2488 2488 out_width, out_height, mem_to_mem); 2489 2489 return 0; 2490 + } 2491 + 2492 + enum omap_overlay_caps dispc_ovl_get_caps(struct dispc_device *dispc, enum omap_plane_id plane) 2493 + { 2494 + return dispc->feat->overlay_caps[plane]; 2490 2495 } 2491 2496 2492 2497 #define DIV_FRAC(dividend, divisor) \
+3
drivers/gpu/drm/omapdrm/dss/dss.h
··· 398 398 enum omap_plane_id plane); 399 399 400 400 void dispc_ovl_get_max_size(struct dispc_device *dispc, u16 *width, u16 *height); 401 + bool dispc_ovl_color_mode_supported(struct dispc_device *dispc, 402 + enum omap_plane_id plane, u32 fourcc); 403 + enum omap_overlay_caps dispc_ovl_get_caps(struct dispc_device *dispc, enum omap_plane_id plane); 401 404 402 405 u32 dispc_read_irqstatus(struct dispc_device *dispc); 403 406 void dispc_clear_irqstatus(struct dispc_device *dispc, u32 mask);