drm: mxsfb: Update internal IP version number for i.MX6SX
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 27 Jul 2020 02:06:49 +0000 (05:06 +0300)
committerStefan Agner <stefan@agner.ch>
Tue, 28 Jul 2020 15:21:37 +0000 (17:21 +0200)
The LCDIF present in the i.MX6SX has extra features compared to
the i.MX28. It has however lost its IP version register, so no official
version number is known. Bump the version to MXSFB_V6 following the i.MX
version, in preparation for support for the additional features.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20200727020654.8231-18-laurent.pinchart@ideasonboard.com
drivers/gpu/drm/mxsfb/mxsfb_drv.c

index ff55519..9fe0a37 100644 (file)
 enum mxsfb_devtype {
        MXSFB_V3,
        MXSFB_V4,
+       /*
+        * Starting at i.MX6 the hardware version register is gone, use the
+        * i.MX family number as the version.
+        */
+       MXSFB_V6,
 };
 
 static const struct mxsfb_devdata mxsfb_devdata[] = {
@@ -52,6 +57,13 @@ static const struct mxsfb_devdata mxsfb_devdata[] = {
                .hs_wdth_mask   = 0x3fff,
                .hs_wdth_shift  = 18,
        },
+       [MXSFB_V6] = {
+               .transfer_count = LCDC_V4_TRANSFER_COUNT,
+               .cur_buf        = LCDC_V4_CUR_BUF,
+               .next_buf       = LCDC_V4_NEXT_BUF,
+               .hs_wdth_mask   = 0x3fff,
+               .hs_wdth_shift  = 18,
+       },
 };
 
 void mxsfb_enable_axi_clk(struct mxsfb_drm_private *mxsfb)
@@ -271,7 +283,7 @@ static struct drm_driver mxsfb_driver = {
 static const struct platform_device_id mxsfb_devtype[] = {
        { .name = "imx23-fb", .driver_data = MXSFB_V3, },
        { .name = "imx28-fb", .driver_data = MXSFB_V4, },
-       { .name = "imx6sx-fb", .driver_data = MXSFB_V4, },
+       { .name = "imx6sx-fb", .driver_data = MXSFB_V6, },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(platform, mxsfb_devtype);