drm/panel: simple: Add bits-per-color support
authorStéphane Marchesin <marcheu@chromium.org>
Fri, 20 Jun 2014 01:18:28 +0000 (18:18 -0700)
committerThierry Reding <treding@nvidia.com>
Fri, 1 Aug 2014 10:41:14 +0000 (12:41 +0200)
The bits-per-color is provided by the EDID normally, but if we're using
panels, we need to store it somewhere. So we add a field to the panel
descriptor for it.

Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/panel/panel-simple.c

index 357712c4446f1048441abe74fbbe66accb8c1337..fa2aea0981a12ba4b222e9a8219f08039efe07cd 100644 (file)
@@ -37,6 +37,8 @@ struct panel_desc {
        const struct drm_display_mode *modes;
        unsigned int num_modes;
 
+       unsigned int bpc;
+
        struct {
                unsigned int width;
                unsigned int height;
@@ -87,6 +89,7 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel)
                num++;
        }
 
+       connector->display_info.bpc = panel->desc->bpc;
        connector->display_info.width_mm = panel->desc->size.width;
        connector->display_info.height_mm = panel->desc->size.height;
 
@@ -285,6 +288,7 @@ static const struct drm_display_mode auo_b101aw03_mode = {
 static const struct panel_desc auo_b101aw03 = {
        .modes = &auo_b101aw03_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 223,
                .height = 125,
@@ -307,6 +311,7 @@ static const struct drm_display_mode auo_b133xtn01_mode = {
 static const struct panel_desc auo_b133xtn01 = {
        .modes = &auo_b133xtn01_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 293,
                .height = 165,
@@ -329,6 +334,7 @@ static const struct drm_display_mode chunghwa_claa101wa01a_mode = {
 static const struct panel_desc chunghwa_claa101wa01a = {
        .modes = &chunghwa_claa101wa01a_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 220,
                .height = 120,
@@ -351,6 +357,7 @@ static const struct drm_display_mode chunghwa_claa101wb01_mode = {
 static const struct panel_desc chunghwa_claa101wb01 = {
        .modes = &chunghwa_claa101wb01_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 223,
                .height = 125,
@@ -374,6 +381,7 @@ static const struct drm_display_mode edt_et057090dhu_mode = {
 static const struct panel_desc edt_et057090dhu = {
        .modes = &edt_et057090dhu_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 115,
                .height = 86,
@@ -397,6 +405,7 @@ static const struct drm_display_mode edt_etm0700g0dh6_mode = {
 static const struct panel_desc edt_etm0700g0dh6 = {
        .modes = &edt_etm0700g0dh6_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 152,
                .height = 91,
@@ -441,6 +450,7 @@ static const struct drm_display_mode innolux_n156bge_l21_mode = {
 static const struct panel_desc innolux_n156bge_l21 = {
        .modes = &innolux_n156bge_l21_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 344,
                .height = 193,
@@ -463,6 +473,7 @@ static const struct drm_display_mode lg_lp129qe_mode = {
 static const struct panel_desc lg_lp129qe = {
        .modes = &lg_lp129qe_mode,
        .num_modes = 1,
+       .bpc = 8,
        .size = {
                .width = 272,
                .height = 181,
@@ -485,6 +496,7 @@ static const struct drm_display_mode samsung_ltn101nt05_mode = {
 static const struct panel_desc samsung_ltn101nt05 = {
        .modes = &samsung_ltn101nt05_mode,
        .num_modes = 1,
+       .bpc = 6,
        .size = {
                .width = 1024,
                .height = 600,