Re: [PATCH] drm/panel: Add simple panel mode for the ARM RTSMv8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

On 18/10/18 13:27, Linus Walleij wrote:
Having failed any attempts at a more generic solution,
I fall back to the very specific solution: define a simple
panel for the ARM RTSMv8 emulated platform.

From the bits of the discussion that I've caught it does seem like this framebuffer-grovelling business might turn out to be fairly unique to RTSM/Fast Models, so I guess it's a reasonable compromise.

I am doing this so we can convert all old users from the
previous fbdev driver to the PL111 DRM driver.

This works fine as far as I can test, provided the
device tree for RTSMv8 is augmented accordingly.

Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Cc: Liviu Dudau <liviu.dudau@xxxxxxx>
Cc: Mali DP Maintainers <malidp@xxxxxxxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
---
  drivers/gpu/drm/panel/panel-simple.c | 30 ++++++++++++++++++++++++++++

Nit: binding doc?

  1 file changed, 30 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 97964f7f2ace..b36fb1db16fb 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2323,6 +2323,33 @@ static const struct panel_desc winstar_wf35ltiacd = {
  	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
  };
+static const struct drm_display_mode arm_rtsmv8_mode[] = {
+	{
+		.clock = 65000,
+		.hdisplay = 1024,
+		.hsync_start = 1024 + 24,
+		.hsync_end = 1024 + 24 + 136,
+		.htotal = 1024 + 24 + 136 + 160,
+		.vdisplay = 768,
+		.vsync_start = 768 + 3,
+		.vsync_end = 768 + 3 + 6,
+		.vtotal = 768 + 3 + 6 + 29,
+		.vrefresh = 60,
+		.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+	},
+};
+
+static const struct panel_desc arm_rtsmv8 = {
+	.modes = arm_rtsmv8_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 400,
+		.height = 300,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+};
+
  static const struct of_device_id platform_of_match[] = {
  	{
  		.compatible = "ampire,am-480272h3tmqw-t01h",
@@ -2330,6 +2357,9 @@ static const struct of_device_id platform_of_match[] = {
  	}, {
  		.compatible = "ampire,am800480r3tmqwa1h",
  		.data = &ampire_am800480r3tmqwa1h,
+	}, {
+		.compatible = "arm,rtsmv8-display",

Nit: "arm,rtsm-display" would probably be a more accurate choice, since the implementation dates back to long before v8 of anything relevant ;)

Robin.

+		.data = &arm_rtsmv8,
  	}, {
  		.compatible = "auo,b101aw03",
  		.data = &auo_b101aw03,

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux