[PATCH] drm/tidss: remove AM65x PG1 YUV erratum code
Jyri Sarha
jsarha at ti.com
Mon May 4 10:51:39 UTC 2020
On 29/04/2020 15:10, Tomi Valkeinen wrote:
> AM65x PG1 has a HW issue with YUV pixel formats, resulting in wrong
> colors on the screen. This issue is fixed in PG2 hardware.
>
> The driver currently has code to hide YUV pixel formats from the
> userspace. To support PG2, we would need to add code to detect the SoC
> version and hide the YUV formats based on that.
>
> However, as PG1 will be phased out and PG2 will be the main platform, a
> much simpler solution is just to drop the code in question. The downside
> is that the users will be able to use YUV formats on PG1, getting wrong
> colors on the screen. On the other hand, that may also be a plus, as the
> same applications will now work on PG1 and PG2, even if the colors are
> wrong on PG1.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
One minor nitpick bellow, but otherwise:
Reviewed-by: Jyri Sarha <jsarha at ti.com>
> ---
> drivers/gpu/drm/tidss/tidss_dispc.c | 11 ++---------
> drivers/gpu/drm/tidss/tidss_dispc.h | 5 -----
> 2 files changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/tidss/tidss_dispc.c b/drivers/gpu/drm/tidss/tidss_dispc.c
> index 29f42768e294..629dd06393f6 100644
> --- a/drivers/gpu/drm/tidss/tidss_dispc.c
> +++ b/drivers/gpu/drm/tidss/tidss_dispc.c
> @@ -181,10 +181,6 @@ const struct dispc_features dispc_am65x_feats = {
> .vid_name = { "vid", "vidl1" },
> .vid_lite = { false, true, },
> .vid_order = { 1, 0 },
> -
> - .errata = {
> - .i2000 = true,
> - },
> };
>
> static const u16 tidss_j721e_common_regs[DISPC_COMMON_REG_TABLE_LEN] = {
> @@ -2674,12 +2670,9 @@ int dispc_init(struct tidss_device *tidss)
> return -ENOMEM;
>
> num_fourccs = 0;
> - for (i = 0; i < ARRAY_SIZE(dispc_color_formats); ++i) {
> - if (feat->errata.i2000 &&
> - dispc_fourcc_is_yuv(dispc_color_formats[i].fourcc))
> - continue;
> + for (i = 0; i < ARRAY_SIZE(dispc_color_formats); ++i)
> dispc->fourccs[num_fourccs++] = dispc_color_formats[i].fourcc;
> - }
> +
> dispc->num_fourccs = num_fourccs;
> dispc->tidss = tidss;
> dispc->dev = dev;
> diff --git a/drivers/gpu/drm/tidss/tidss_dispc.h b/drivers/gpu/drm/tidss/tidss_dispc.h
> index a4a68249e44b..1228b166b255 100644
> --- a/drivers/gpu/drm/tidss/tidss_dispc.h
> +++ b/drivers/gpu/drm/tidss/tidss_dispc.h
> @@ -46,10 +46,6 @@ struct dispc_features_scaling {
> u32 xinc_max;
> };
>
> -struct dispc_errata {
> - bool i2000; /* DSS Does Not Support YUV Pixel Data Formats */
> -};
> -
> enum dispc_vp_bus_type {
> DISPC_VP_DPI, /* DPI output */
> DISPC_VP_OLDI, /* OLDI (LVDS) output */
> @@ -84,7 +80,6 @@ struct dispc_features {
> bool vid_lite[TIDSS_MAX_PLANES];
> u32 vid_order[TIDSS_MAX_PLANES];
>
Shouldn't we remove the above empty line too?
> - struct dispc_errata errata;
> };
>
> extern const struct dispc_features dispc_k2g_feats;
>
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
More information about the dri-devel
mailing list