Merge branch 'drm-next-3.16' of git://people.freedesktop.org/~agd5f/linux into drm...
authorDave Airlie <airlied@redhat.com>
Tue, 10 Jun 2014 03:09:01 +0000 (13:09 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 10 Jun 2014 03:09:01 +0000 (13:09 +1000)
Some additional patches for radeon for 3.16 now that -fixes has been merged.

- Gart fix for all asics r6xx+
- Add some VM tuning parameters
- misc fixes

* 'drm-next-3.16' of git://people.freedesktop.org/~agd5f/linux:
  drm/radeon: Move fb update from radeon_flip_work_func to radeon_crtc_page_flip
  drm/radeon/dpm: powertune updates for SI
  Revert "drm/radeon: use variable UVD clocks"
  drm/radeon: add query for number of active CUs
  drm/radeon: add debugfs file to trigger GPU reset
  drm/radeon: make vm_block_size a module parameter
  drm/radeon: make VM size a module parameter (v2)
  drm/radeon: rename alt_domain to allowed_domains
  drm/radeon: use the SDMA on for buffer moves on CIK again
  drm/radeon: remove range check from *_gart_set_page
  drm/radeon: stop poisoning the GART TLB
  drm/radeon: hdmi deep color modes must obey clock limit of sink.
  drm/edid: Store all supported hdmi deep color modes in drm_display_info
  drm/radeon: add missing vce init case for hawaii
  drm/radeon: use lower_32_bits where appropriate

28 files changed:
Documentation/DocBook/drm.tmpl
drivers/gpu/drm/armada/armada_drv.c
drivers/gpu/drm/ast/ast_post.c
drivers/gpu/drm/exynos/exynos_dp_core.c
drivers/gpu/drm/exynos/exynos_drm_dpi.c
drivers/gpu/drm/exynos/exynos_drm_drv.c
drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
drivers/gpu/drm/gma500/psb_drv.c
drivers/gpu/drm/i810/i810_dma.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_ioc32.c
drivers/gpu/drm/mga/mga_ioc32.c
drivers/gpu/drm/mga/mga_state.c
drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c
drivers/gpu/drm/nouveau/core/engine/graph/nv50.c
drivers/gpu/drm/nouveau/nouveau_ioc32.c
drivers/gpu/drm/qxl/qxl_ioctl.c
drivers/gpu/drm/r128/r128_ioc32.c
drivers/gpu/drm/r128/r128_state.c
drivers/gpu/drm/radeon/radeon_bios.c
drivers/gpu/drm/radeon/radeon_ioc32.c
drivers/gpu/drm/radeon/radeon_kms.c
drivers/gpu/drm/radeon/radeon_state.c
drivers/gpu/drm/savage/savage_bci.c
drivers/gpu/drm/sis/sis_mm.c
drivers/gpu/drm/via/via_dma.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
include/drm/drmP.h

index c526d81..7df3134 100644 (file)
@@ -2502,7 +2502,7 @@ void intel_crt_init(struct drm_device *dev)
        <td valign="top" >Description/Restrictions</td>
        </tr>
        <tr>
-       <td rowspan="19" valign="top" >DRM</td>
+       <td rowspan="20" valign="top" >DRM</td>
        <td rowspan="2" valign="top" >Generic</td>
        <td valign="top" >“EDID”</td>
        <td valign="top" >BLOB | IMMUTABLE</td>
@@ -2518,6 +2518,14 @@ void intel_crt_init(struct drm_device *dev)
        <td valign="top" >Contains DPMS operation mode value.</td>
        </tr>
        <tr>
+       <td rowspan="1" valign="top" >Plane</td>
+       <td valign="top" >“type”</td>
+       <td valign="top" >ENUM | IMMUTABLE</td>
+       <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>
+       <td valign="top" >Plane</td>
+       <td valign="top" >Plane type</td>
+       </tr>
+       <tr>
        <td rowspan="2" valign="top" >DVI-I</td>
        <td valign="top" >“subconnector”</td>
        <td valign="top" >ENUM</td>
index 567cfbd..8ab3cd1 100644 (file)
@@ -402,7 +402,7 @@ static struct platform_driver armada_drm_platform_driver = {
 
 static int __init armada_drm_init(void)
 {
-       armada_drm_driver.num_ioctls = DRM_ARRAY_SIZE(armada_ioctls);
+       armada_drm_driver.num_ioctls = ARRAY_SIZE(armada_ioctls);
        return platform_driver_register(&armada_drm_platform_driver);
 }
 module_init(armada_drm_init);
index 4e5ea38..38d437f 100644 (file)
@@ -1083,7 +1083,7 @@ static void get_ddr3_info(struct ast_private *ast, struct ast2300_dram_param *pa
        case AST_DRAM_4Gx16:
                param->dram_config = 0x133;
                break;
-       }; /* switch size */
+       } /* switch size */
 
        switch (param->vram_size) {
        default:
@@ -1454,7 +1454,7 @@ static void get_ddr2_info(struct ast_private *ast, struct ast2300_dram_param *pa
        case AST_DRAM_4Gx16:
                param->dram_config = 0x123;
                break;
-       }; /* switch size */
+       } /* switch size */
 
        switch (param->vram_size) {
        default:
index 5e05dbc..a8ffc8c 100644 (file)
@@ -1087,7 +1087,7 @@ static void exynos_dp_dpms(struct exynos_drm_display *display, int mode)
                break;
        default:
                break;
-       };
+       }
        dp->dpms_mode = mode;
 }
 
index f1b8587..482127f 100644 (file)
@@ -152,7 +152,7 @@ static void exynos_dpi_dpms(struct exynos_drm_display *display, int mode)
                break;
        default:
                break;
-       };
+       }
        ctx->dpms_mode = mode;
 }
 
index 5d225dd..d91f277 100644 (file)
@@ -573,7 +573,7 @@ static int exynos_drm_platform_probe(struct platform_device *pdev)
        int ret;
 
        pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
-       exynos_drm_driver.num_ioctls = DRM_ARRAY_SIZE(exynos_ioctls);
+       exynos_drm_driver.num_ioctls = ARRAY_SIZE(exynos_ioctls);
 
 #ifdef CONFIG_DRM_EXYNOS_FIMD
        ret = platform_driver_register(&fimd_driver);
index 489ffd2..87885d8 100644 (file)
@@ -148,7 +148,7 @@ static int handle_dsi_error(struct mdfld_dsi_pkg_sender *sender, u32 mask)
                break;
        case BIT(14):
                /*wait for all fifo empty*/
-               /*wait_for_all_fifos_empty(sender)*/;
+               /*wait_for_all_fifos_empty(sender)*/
                break;
        case BIT(15):
                dev_dbg(sender->dev->dev, "No Action required\n");
index 59ea45e..6e8fe9e 100644 (file)
@@ -477,7 +477,7 @@ static struct drm_driver driver = {
        .lastclose = psb_driver_lastclose,
        .preclose = psb_driver_preclose,
 
-       .num_ioctls = DRM_ARRAY_SIZE(psb_ioctls),
+       .num_ioctls = ARRAY_SIZE(psb_ioctls),
        .device_is_agp = psb_driver_device_is_agp,
        .irq_preinstall = psb_irq_preinstall,
        .irq_postinstall = psb_irq_postinstall,
index aeace37..e88bac1 100644 (file)
@@ -1251,7 +1251,7 @@ const struct drm_ioctl_desc i810_ioctls[] = {
        DRM_IOCTL_DEF_DRV(I810_FLIP, i810_flip_bufs, DRM_AUTH|DRM_UNLOCKED),
 };
 
-int i810_max_ioctl = DRM_ARRAY_SIZE(i810_ioctls);
+int i810_max_ioctl = ARRAY_SIZE(i810_ioctls);
 
 /**
  * Determine if the device really is AGP or not.
index b9159ad..4c22a5b 100644 (file)
@@ -1986,7 +1986,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
        DRM_IOCTL_DEF_DRV(I915_GEM_USERPTR, i915_gem_userptr_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
 };
 
-int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls);
+int i915_max_ioctl = ARRAY_SIZE(i915_ioctls);
 
 /*
  * This is really ugly: Because old userspace abused the linux agp interface to
index 3c59584..2e0613e 100644 (file)
@@ -208,7 +208,7 @@ long i915_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
        if (nr < DRM_COMMAND_BASE)
                return drm_compat_ioctl(filp, cmd, arg);
 
-       if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(i915_compat_ioctls))
+       if (nr < DRM_COMMAND_BASE + ARRAY_SIZE(i915_compat_ioctls))
                fn = i915_compat_ioctls[nr - DRM_COMMAND_BASE];
 
        if (fn != NULL)
index 86b4bb8..729bfd5 100644 (file)
@@ -214,7 +214,7 @@ long mga_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
        if (nr < DRM_COMMAND_BASE)
                return drm_compat_ioctl(filp, cmd, arg);
 
-       if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls))
+       if (nr < DRM_COMMAND_BASE + ARRAY_SIZE(mga_compat_ioctls))
                fn = mga_compat_ioctls[nr - DRM_COMMAND_BASE];
 
        if (fn != NULL)
index 3cb58df..792f924 100644 (file)
@@ -1099,4 +1099,4 @@ const struct drm_ioctl_desc mga_ioctls[] = {
        DRM_IOCTL_DEF_DRV(MGA_DMA_BOOTSTRAP, mga_dma_bootstrap, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
 };
 
-int mga_max_ioctl = DRM_ARRAY_SIZE(mga_ioctls);
+int mga_max_ioctl = ARRAY_SIZE(mga_ioctls);
index 0fab95e..dec03f0 100644 (file)
@@ -842,7 +842,7 @@ nvf0_grctx_generate_mods(struct nvc0_graph_priv *priv, struct nvc0_grctx *info)
                u16 magic3 = 0x0648;
                magic[gpc][0]  = 0x10000000 | (magic0 << 16) | offset;
                magic[gpc][1]  = 0x00000000 | (magic1 << 16);
-               offset += 0x0324 * (priv->tpc_nr[gpc] - 1);;
+               offset += 0x0324 * (priv->tpc_nr[gpc] - 1);
                magic[gpc][2]  = 0x10000000 | (magic2 << 16) | offset;
                magic[gpc][3]  = 0x00000000 | (magic3 << 16);
                offset += 0x0324;
index 2c7809e..1a2d564 100644 (file)
@@ -901,7 +901,7 @@ nv50_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
                nv_engine(priv)->sclass = nvaf_graph_sclass;
                break;
 
-       };
+       }
 
        /* unfortunate hw bug workaround... */
        if (nv_device(priv)->chipset != 0x50 &&
index c1a7e5a..462679a 100644 (file)
@@ -57,7 +57,7 @@ long nouveau_compat_ioctl(struct file *filp, unsigned int cmd,
                return drm_compat_ioctl(filp, cmd, arg);
 
 #if 0
-       if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls))
+       if (nr < DRM_COMMAND_BASE + ARRAY_SIZE(mga_compat_ioctls))
                fn = nouveau_compat_ioctls[nr - DRM_COMMAND_BASE];
 #endif
        if (fn != NULL)
index 0bb86e6..b110883 100644 (file)
@@ -451,4 +451,4 @@ const struct drm_ioctl_desc qxl_ioctls[] = {
                          DRM_AUTH|DRM_UNLOCKED),
 };
 
-int qxl_max_ioctls = DRM_ARRAY_SIZE(qxl_ioctls);
+int qxl_max_ioctls = ARRAY_SIZE(qxl_ioctls);
index b0d0fd3..663f38c 100644 (file)
@@ -203,7 +203,7 @@ long r128_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
        if (nr < DRM_COMMAND_BASE)
                return drm_compat_ioctl(filp, cmd, arg);
 
-       if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(r128_compat_ioctls))
+       if (nr < DRM_COMMAND_BASE + ARRAY_SIZE(r128_compat_ioctls))
                fn = r128_compat_ioctls[nr - DRM_COMMAND_BASE];
 
        if (fn != NULL)
index 97064dd..575e986 100644 (file)
@@ -1641,4 +1641,4 @@ const struct drm_ioctl_desc r128_ioctls[] = {
        DRM_IOCTL_DEF_DRV(R128_GETPARAM, r128_getparam, DRM_AUTH),
 };
 
-int r128_max_ioctl = DRM_ARRAY_SIZE(r128_ioctls);
+int r128_max_ioctl = ARRAY_SIZE(r128_ioctls);
index 9ab3097..6a03624 100644 (file)
@@ -626,7 +626,7 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
            vhdr->DeviceID != rdev->pdev->device) {
                DRM_INFO("ACPI VFCT table is not for this card\n");
                goto out_unmap;
-       };
+       }
 
        if (vfct->VBIOSImageOffset + sizeof(VFCT_IMAGE_HEADER) + vhdr->ImageLength > tbl_size) {
                DRM_ERROR("ACPI VFCT image truncated\n");
index bdb0f93..0b98ea1 100644 (file)
@@ -399,7 +399,7 @@ long radeon_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
        if (nr < DRM_COMMAND_BASE)
                return drm_compat_ioctl(filp, cmd, arg);
 
-       if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(radeon_compat_ioctls))
+       if (nr < DRM_COMMAND_BASE + ARRAY_SIZE(radeon_compat_ioctls))
                fn = radeon_compat_ioctls[nr - DRM_COMMAND_BASE];
 
        if (fn != NULL)
index 5cd70f9..35d9318 100644 (file)
@@ -875,4 +875,4 @@ const struct drm_ioctl_desc radeon_ioctls_kms[] = {
        DRM_IOCTL_DEF_DRV(RADEON_GEM_VA, radeon_gem_va_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
        DRM_IOCTL_DEF_DRV(RADEON_GEM_OP, radeon_gem_op_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
 };
-int radeon_max_kms_ioctl = DRM_ARRAY_SIZE(radeon_ioctls_kms);
+int radeon_max_kms_ioctl = ARRAY_SIZE(radeon_ioctls_kms);
index b576549..23bb64f 100644 (file)
@@ -3258,4 +3258,4 @@ struct drm_ioctl_desc radeon_ioctls[] = {
        DRM_IOCTL_DEF_DRV(RADEON_CS, r600_cs_legacy_ioctl, DRM_AUTH)
 };
 
-int radeon_max_ioctl = DRM_ARRAY_SIZE(radeon_ioctls);
+int radeon_max_ioctl = ARRAY_SIZE(radeon_ioctls);
index d2b2df9..c97cdc9 100644 (file)
@@ -1079,4 +1079,4 @@ const struct drm_ioctl_desc savage_ioctls[] = {
        DRM_IOCTL_DEF_DRV(SAVAGE_BCI_EVENT_WAIT, savage_bci_event_wait, DRM_AUTH),
 };
 
-int savage_max_ioctl = DRM_ARRAY_SIZE(savage_ioctls);
+int savage_max_ioctl = ARRAY_SIZE(savage_ioctls);
index 0573be0..77f288e 100644 (file)
@@ -359,4 +359,4 @@ const struct drm_ioctl_desc sis_ioctls[] = {
        DRM_IOCTL_DEF_DRV(SIS_FB_INIT, sis_fb_init, DRM_AUTH | DRM_MASTER | DRM_ROOT_ONLY),
 };
 
-int sis_max_ioctl = DRM_ARRAY_SIZE(sis_ioctls);
+int sis_max_ioctl = ARRAY_SIZE(sis_ioctls);
index a18479c..6fc0648 100644 (file)
@@ -737,4 +737,4 @@ const struct drm_ioctl_desc via_ioctls[] = {
        DRM_IOCTL_DEF_DRV(VIA_BLIT_SYNC, via_dma_blit_sync, DRM_AUTH)
 };
 
-int via_max_ioctl = DRM_ARRAY_SIZE(via_ioctls);
+int via_max_ioctl = ARRAY_SIZE(via_ioctls);
index 6bdd15e..246a62b 100644 (file)
@@ -1417,7 +1417,7 @@ static struct drm_driver driver = {
        .enable_vblank = vmw_enable_vblank,
        .disable_vblank = vmw_disable_vblank,
        .ioctls = vmw_ioctls,
-       .num_ioctls = DRM_ARRAY_SIZE(vmw_ioctls),
+       .num_ioctls = ARRAY_SIZE(vmw_ioctls),
        .master_create = vmw_master_create,
        .master_destroy = vmw_master_destroy,
        .master_set = vmw_master_set,
index 83222db..8af71a8 100644 (file)
@@ -234,8 +234,6 @@ int drm_err(const char *func, const char *format, ...);
 /** \name Internal types and structures */
 /*@{*/
 
-#define DRM_ARRAY_SIZE(x) ARRAY_SIZE(x)
-
 #define DRM_IF_VERSION(maj, min) (maj << 16 | min)
 
 /**