]> Pileus Git - ~andy/linux/commitdiff
Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next
authorDave Airlie <airlied@redhat.com>
Mon, 23 Dec 2013 00:42:36 +0000 (10:42 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 23 Dec 2013 00:42:36 +0000 (10:42 +1000)
rcar misc changes.

* 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev:
  drm/rcar-du: Add support for the r8a7791 DU
  drm/rcar-du: Add LVDS_LANES quirk
  drm/rcar-du: Split features and quirks
  drm/rcar-du: Update plane pitch in .mode_set_base() operation
  drm/rcar-du: Don't cast crtc to rcrtc twice in the same function
  drm/rcar-du: fix return value check in rcar_du_lvdsenc_get_resources()

1  2 
drivers/gpu/drm/rcar-du/rcar_du_drv.c

index 4ec6272a1c111c74a72085e7a74cfd316ed81484,5536811a8cbe189ccc95d48a0c9fe896faf11ca9..792fd1d20e865df1125294dcfbf626e6a7a16524
@@@ -224,9 -224,7 +224,9 @@@ static int rcar_du_probe(struct platfor
  
  static int rcar_du_remove(struct platform_device *pdev)
  {
 -      drm_platform_exit(&rcar_du_driver, pdev);
 +      struct rcar_du_device *rcdu = platform_get_drvdata(pdev);
 +
 +      drm_put_dev(rcdu->ddev);
  
        return 0;
  }
@@@ -251,8 -249,8 +251,8 @@@ static const struct rcar_du_device_inf
  };
  
  static const struct rcar_du_device_info rcar_du_r8a7790_info = {
-       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK | RCAR_DU_FEATURE_ALIGN_128B
-                 | RCAR_DU_FEATURE_DEFR8,
+       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK | RCAR_DU_FEATURE_DEFR8,
+       .quirks = RCAR_DU_QUIRK_ALIGN_128B | RCAR_DU_QUIRK_LVDS_LANES,
        .num_crtcs = 3,
        .routes = {
                /* R8A7790 has one RGB output, two LVDS outputs and one
        .num_lvds = 2,
  };
  
+ static const struct rcar_du_device_info rcar_du_r8a7791_info = {
+       .features = RCAR_DU_FEATURE_CRTC_IRQ_CLOCK | RCAR_DU_FEATURE_DEFR8,
+       .num_crtcs = 2,
+       .routes = {
+               /* R8A7791 has one RGB output, one LVDS output and one
+                * (currently unsupported) TCON output.
+                */
+               [RCAR_DU_OUTPUT_DPAD0] = {
+                       .possible_crtcs = BIT(1),
+                       .encoder_type = DRM_MODE_ENCODER_NONE,
+               },
+               [RCAR_DU_OUTPUT_LVDS0] = {
+                       .possible_crtcs = BIT(0),
+                       .encoder_type = DRM_MODE_ENCODER_LVDS,
+               },
+       },
+       .num_lvds = 1,
+ };
  static const struct platform_device_id rcar_du_id_table[] = {
        { "rcar-du-r8a7779", (kernel_ulong_t)&rcar_du_r8a7779_info },
        { "rcar-du-r8a7790", (kernel_ulong_t)&rcar_du_r8a7790_info },
+       { "rcar-du-r8a7791", (kernel_ulong_t)&rcar_du_r8a7791_info },
        { }
  };