mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-14 19:16:35 -05:00
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
This commit is contained in:
committed by
Tomi Valkeinen
parent
d484c20d7c
commit
0b0f7282f0
@@ -1281,8 +1281,8 @@ static u32 dispc_ovl_get_burst_size(struct dispc_device *dispc,
|
||||
return dispc->feat->burst_size_unit * 8;
|
||||
}
|
||||
|
||||
static bool dispc_ovl_color_mode_supported(struct dispc_device *dispc,
|
||||
enum omap_plane_id plane, u32 fourcc)
|
||||
bool dispc_ovl_color_mode_supported(struct dispc_device *dispc,
|
||||
enum omap_plane_id plane, u32 fourcc)
|
||||
{
|
||||
const u32 *modes;
|
||||
unsigned int i;
|
||||
@@ -2489,6 +2489,11 @@ static int dispc_ovl_calc_scaling_44xx(struct dispc_device *dispc,
|
||||
return 0;
|
||||
}
|
||||
|
||||
enum omap_overlay_caps dispc_ovl_get_caps(struct dispc_device *dispc, enum omap_plane_id plane)
|
||||
{
|
||||
return dispc->feat->overlay_caps[plane];
|
||||
}
|
||||
|
||||
#define DIV_FRAC(dividend, divisor) \
|
||||
((dividend) * 100 / (divisor) - ((dividend) / (divisor) * 100))
|
||||
|
||||
|
||||
@@ -398,6 +398,9 @@ const u32 *dispc_ovl_get_color_modes(struct dispc_device *dispc,
|
||||
enum omap_plane_id plane);
|
||||
|
||||
void dispc_ovl_get_max_size(struct dispc_device *dispc, u16 *width, u16 *height);
|
||||
bool dispc_ovl_color_mode_supported(struct dispc_device *dispc,
|
||||
enum omap_plane_id plane, u32 fourcc);
|
||||
enum omap_overlay_caps dispc_ovl_get_caps(struct dispc_device *dispc, enum omap_plane_id plane);
|
||||
|
||||
u32 dispc_read_irqstatus(struct dispc_device *dispc);
|
||||
void dispc_clear_irqstatus(struct dispc_device *dispc, u32 mask);
|
||||
|
||||
Reference in New Issue
Block a user