drivers/gpu/drm/openchrome/openchrome_analog.c  |    3 -
 drivers/gpu/drm/openchrome/openchrome_clocks.c  |   16 +++--
 drivers/gpu/drm/openchrome/openchrome_crtc.c    |   71 +++++++++++++-----------
 drivers/gpu/drm/openchrome/openchrome_cursor.c  |   22 ++++---
 drivers/gpu/drm/openchrome/openchrome_display.c |   51 +++++++++--------
 drivers/gpu/drm/openchrome/openchrome_drv.c     |    3 -
 drivers/gpu/drm/openchrome/openchrome_drv.h     |    1 
 drivers/gpu/drm/openchrome/openchrome_fb.c      |    6 +-
 drivers/gpu/drm/openchrome/openchrome_fp.c      |   27 ++++++---
 drivers/gpu/drm/openchrome/openchrome_hdmi.c    |   10 ++-
 drivers/gpu/drm/openchrome/openchrome_init.c    |   38 +++++++-----
 drivers/gpu/drm/openchrome/openchrome_ioctl.c   |    4 -
 drivers/gpu/drm/openchrome/openchrome_object.c  |   34 ++++-------
 drivers/gpu/drm/openchrome/openchrome_pm.c      |   12 ++--
 drivers/gpu/drm/openchrome/openchrome_tmds.c    |    6 +-
 drivers/gpu/drm/openchrome/openchrome_ttm.c     |   16 +----
 16 files changed, 168 insertions(+), 152 deletions(-)

New commits:
commit fe8374744fb966a4371ad903c2a3b0cb6e5728c6
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Jul 14 15:09:58 2021 -0500

    drm/ttm: flip over the range manager to self allocated nodes
    
    Based on commit 3eb7d96 (drm/ttm: flip over the range manager
    to self allocated nodes).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index 8c1ddc9b3512..5afc472382c8 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -40,6 +40,7 @@
 
 #include <drm/ttm/ttm_bo_api.h>
 #include <drm/ttm/ttm_bo_driver.h>
+#include <drm/ttm/ttm_range_manager.h>
 
 #include "openchrome_drv.h"
 
commit 07d8b21a019f955cc36802ac13787a2f515fb1d9
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Jul 14 15:09:41 2021 -0500

    drm/ttm: rename bo->mem and make it a pointer
    
    Based on commit d311675 (drm/ttm: rename bo->mem and make it a
    pointer).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c 
b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index 4fcd395f0f7c..a2efbe6239c7 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -1921,7 +1921,7 @@ void openchrome_primary_atomic_update(struct drm_plane 
*plane,
                via_iga1_set_color_depth(dev_private, fb->format->depth);
 
                /* Set the framebuffer offset */
-               addr = round_up((bo->ttm_bo.mem.start << PAGE_SHIFT) +
+               addr = round_up((bo->ttm_bo.resource->start << PAGE_SHIFT) +
                                pitch, 16) >> 1;
 
                vga_wcrt(VGABASE, 0x0D, addr & 0xFF);
@@ -1944,7 +1944,7 @@ void openchrome_primary_atomic_update(struct drm_plane 
*plane,
                via_iga2_set_color_depth(dev_private, fb->format->depth);
 
                /* Set the framebuffer offset */
-               addr = round_up((bo->ttm_bo.mem.start << PAGE_SHIFT) +
+               addr = round_up((bo->ttm_bo.resource->start << PAGE_SHIFT) +
                                pitch, 16);
                /* Bits 9 to 3 of the frame buffer go into bits 7 to 1
                 * of the register. Bit 0 is for setting tile mode or
diff --git a/drivers/gpu/drm/openchrome/openchrome_cursor.c 
b/drivers/gpu/drm/openchrome/openchrome_cursor.c
index 7d08533d0ad1..b5ec6c44b1c0 100644
--- a/drivers/gpu/drm/openchrome/openchrome_cursor.c
+++ b/drivers/gpu/drm/openchrome/openchrome_cursor.c
@@ -181,10 +181,10 @@ static void openchrome_cursor_address(struct drm_crtc 
*crtc,
                 */
                if (iga->index) {
                        VIA_WRITE(HI_FBOFFSET,
-                       ttm_bo->kmap.bo->mem.start << PAGE_SHIFT);
+                       ttm_bo->kmap.bo->resource->start << PAGE_SHIFT);
                } else {
                        VIA_WRITE(PRIM_HI_FBOFFSET,
-                       ttm_bo->kmap.bo->mem.start << PAGE_SHIFT);
+                       ttm_bo->kmap.bo->resource->start << PAGE_SHIFT);
                }
                break;
        default:
@@ -192,7 +192,7 @@ static void openchrome_cursor_address(struct drm_crtc *crtc,
                 * Program Hardware Icon (HI) offset.
                 */
                VIA_WRITE(HI_FBOFFSET,
-                       ttm_bo->kmap.bo->mem.start << PAGE_SHIFT);
+                       ttm_bo->kmap.bo->resource->start << PAGE_SHIFT);
                break;
        }
 
@@ -283,7 +283,7 @@ static int openchrome_cursor_prepare_fb(struct drm_plane 
*plane,
        ret = openchrome_bo_pin(bo, TTM_PL_VRAM);
        ttm_bo_unreserve(&bo->ttm_bo);
        ret = ttm_bo_kmap(&bo->ttm_bo, 0,
-                               bo->ttm_bo.mem.num_pages,
+                               bo->ttm_bo.resource->num_pages,
                                &bo->kmap);
        if (ret) {
                goto exit;
diff --git a/drivers/gpu/drm/openchrome/openchrome_fb.c 
b/drivers/gpu/drm/openchrome/openchrome_fb.c
index a9fd14a4c345..5ce7b99e2275 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fb.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fb.c
@@ -206,12 +206,12 @@ openchrome_fb_probe(struct drm_fb_helper *helper,
        info->fbops = &via_fb_ops;
 
        info->fix.smem_start = openchrome_fb->bo->
-                               ttm_bo.mem.bus.offset;
-       info->fix.smem_len = openchrome_fb->bo->ttm_bo.mem.num_pages <<
+                               ttm_bo.resource->bus.offset;
+       info->fix.smem_len = openchrome_fb->bo->ttm_bo.resource->num_pages <<
                                                        PAGE_SHIFT;
        info->screen_base = ttm_kmap_obj_virtual(
                                &openchrome_fb->bo->kmap, &is_iomem);
-       info->screen_size = openchrome_fb->bo->ttm_bo.mem.num_pages <<
+       info->screen_size = openchrome_fb->bo->ttm_bo.resource->num_pages <<
                                                        PAGE_SHIFT;
 
        info->apertures->ranges[0].base = dev_private->vram_start;
diff --git a/drivers/gpu/drm/openchrome/openchrome_ioctl.c 
b/drivers/gpu/drm/openchrome/openchrome_ioctl.c
index 36453b40e775..dae01d3b30e3 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ioctl.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ioctl.c
@@ -66,9 +66,9 @@ static int openchrome_gem_create_ioctl(struct drm_device *dev,
        }
 
        args->size              = bo->ttm_bo.base.size;
-       args->domain            = bo->ttm_bo.mem.placement;
+       args->domain            = bo->ttm_bo.resource->placement;
        args->handle            = handle;
-       args->offset            = bo->ttm_bo.mem.start << PAGE_SHIFT;
+       args->offset            = bo->ttm_bo.resource->start << PAGE_SHIFT;
 exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index 4063b8d42155..8c1ddc9b3512 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -224,7 +224,7 @@ int openchrome_bo_create(struct drm_device *dev,
                }
 
                ret = ttm_bo_kmap(&bo->ttm_bo, 0,
-                                       bo->ttm_bo.mem.num_pages,
+                                       bo->ttm_bo.resource->num_pages,
                                        &bo->kmap);
                if (ret) {
                        ttm_bo_put(&bo->ttm_bo);
diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 81a413d90e89..004244530b6e 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -95,7 +95,7 @@ static void openchrome_bo_evict_flags(struct 
ttm_buffer_object *bo,
                goto exit;
        }
 
-       switch (bo->mem.mem_type) {
+       switch (bo->resource->mem_type) {
        case TTM_PL_VRAM:
                openchrome_ttm_domain_to_placement(driver_bo,
                                                TTM_PL_VRAM);
@@ -124,9 +124,9 @@ static int openchrome_bo_move(struct ttm_buffer_object *bo,
        openchrome_bo_move_notify(bo, evict, new_mem);
        ret = ttm_bo_move_memcpy(bo, ctx, new_mem);
        if (ret) {
-               swap(*new_mem, bo->mem);
+               swap(*new_mem, *bo->resource);
                openchrome_bo_move_notify(bo, false, new_mem);
-               swap(*new_mem, bo->mem);
+               swap(*new_mem, *bo->resource);
        }
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
commit 0cfe185739de2d7232c51fdd4dd22186379b3691
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Jul 14 15:09:25 2021 -0500

    drm/openchrome: Implement mmap as GEM object function
    
    Based on commit 265ec0d (drm/nouveau: Implement mmap as GEM object
    function).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c 
b/drivers/gpu/drm/openchrome/openchrome_drv.c
index e4c707384334..9b2c568abf2a 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -154,7 +154,7 @@ static const struct file_operations openchrome_driver_fops 
= {
        .open           = drm_open,
        .release        = drm_release,
        .unlocked_ioctl = drm_ioctl,
-       .mmap           = openchrome_ttm_mmap,
+       .mmap           = drm_gem_mmap,
        .poll           = drm_poll,
        .llseek         = noop_llseek,
 };
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h 
b/drivers/gpu/drm/openchrome/openchrome_drv.h
index f618d625c17b..e2bd242a351c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -388,7 +388,6 @@ void openchrome_drm_fini(struct drm_device *dev);
 int openchrome_dev_pm_ops_suspend(struct device *dev);
 int openchrome_dev_pm_ops_resume(struct device *dev);
 
-int openchrome_ttm_mmap(struct file *filp, struct vm_area_struct *vma);
 void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
                                        uint32_t ttm_domain);
 void openchrome_ttm_bo_destroy(struct ttm_buffer_object *tbo);
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index d404a39c7a95..4063b8d42155 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -36,6 +36,7 @@
  */
 
 #include <drm/drm_file.h>
+#include <drm/drm_gem_ttm_helper.h>
 
 #include <drm/ttm/ttm_bo_api.h>
 #include <drm/ttm/ttm_bo_driver.h>
@@ -55,31 +56,19 @@ static void openchrome_gem_free(struct drm_gem_object *obj)
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
+static const struct vm_operations_struct openchrome_ttm_bo_vm_ops = {
+       .fault = ttm_bo_vm_fault,
+       .open = ttm_bo_vm_open,
+       .close = ttm_bo_vm_close,
+       .access = ttm_bo_vm_access
+};
+
 static const struct drm_gem_object_funcs openchrome_gem_object_funcs = {
        .free = openchrome_gem_free,
+       .mmap = drm_gem_ttm_mmap,
+       .vm_ops = &openchrome_ttm_bo_vm_ops,
 };
 
-int openchrome_ttm_mmap(struct file *filp, struct vm_area_struct *vma)
-{
-       struct drm_file *file_priv = filp->private_data;
-       struct openchrome_drm_private *dev_private =
-                               file_priv->minor->dev->dev_private;
-       int ret = -EINVAL;
-
-       DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-       if (!dev_private) {
-               DRM_DEBUG_KMS("No device private data.\n");
-               ret = -EINVAL;
-               goto exit;
-       }
-
-       ret = ttm_bo_mmap(filp, vma, &dev_private->bdev);
-exit:
-       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-       return ret;
-}
-
 void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
                                        uint32_t ttm_domain)
 {
diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 3f457cc7df6f..81a413d90e89 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -133,15 +133,6 @@ static int openchrome_bo_move(struct ttm_buffer_object *bo,
        return ret;
 }
 
-static int openchrome_bo_verify_access(struct ttm_buffer_object *bo,
-                                       struct file *filp)
-{
-       DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-       return 0;
-}
-
 static void openchrome_bo_delete_mem_notify(struct ttm_buffer_object *bo)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -184,7 +175,6 @@ struct ttm_device_funcs openchrome_bo_driver = {
        .eviction_valuable = ttm_bo_eviction_valuable,
        .evict_flags = openchrome_bo_evict_flags,
        .move = openchrome_bo_move,
-       .verify_access = openchrome_bo_verify_access,
        .delete_mem_notify = openchrome_bo_delete_mem_notify,
        .io_mem_reserve = openchrome_bo_io_mem_reserve,
 };
commit 7060bf0a10ba93fe4c36f385caa4061e22d595df
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Jul 14 15:09:15 2021 -0500

    drm/openchrome: Don't assign to struct drm_device.pdev
    
    Based on commit 9d7a045 (drm/i915: Don't assign to struct
    drm_device.pdev).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c 
b/drivers/gpu/drm/openchrome/openchrome_drv.c
index fab48ffc071e..e4c707384334 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -210,7 +210,6 @@ static int openchrome_pci_probe(struct pci_dev *pdev,
                goto error_disable_pci;
        }
 
-       dev->pdev = pdev;
        pci_set_drvdata(pdev, dev);
 
        ret = openchrome_drm_init(dev);
commit 96889c7284a727515147891f753325b074e785b3
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Jul 14 15:00:49 2021 -0500

    drm/openchrome: Remove references to drm_device.pdev
    
    Based on commit 9a31b38 (drm/via: Remove references to
    drm_device.pdev).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_analog.c 
b/drivers/gpu/drm/openchrome/openchrome_analog.c
index f5e16382a0ed..159687d256b8 100644
--- a/drivers/gpu/drm/openchrome/openchrome_analog.c
+++ b/drivers/gpu/drm/openchrome/openchrome_analog.c
@@ -352,7 +352,8 @@ void via_analog_probe(struct drm_device *dev)
 {
        struct openchrome_drm_private *dev_private =
                                                dev->dev_private;
-       u16 chipset = dev->pdev->device;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
+       u16 chipset = pdev->device;
        u8 sr13, sr5a;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
diff --git a/drivers/gpu/drm/openchrome/openchrome_clocks.c 
b/drivers/gpu/drm/openchrome/openchrome_clocks.c
index 12e6be079fce..8e5ed4ca378e 100644
--- a/drivers/gpu/drm/openchrome/openchrome_clocks.c
+++ b/drivers/gpu/drm/openchrome/openchrome_clocks.c
@@ -57,6 +57,7 @@ struct pll_mrn_value {
 u32
 via_get_clk_value(struct drm_device *dev, u32 freq)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u32 best_pll_n = 2, best_pll_r = 0, best_pll_m = 2, best_clk_diff = 
freq;
        u32 pll_fout, pll_fvco, pll_mrn = 0;
        u32 pll_n, pll_r, pll_m, clk_diff;
@@ -68,8 +69,8 @@ via_get_clk_value(struct drm_device *dev, u32 freq)
                { 0, 0, 0, 0, 0 } };
        int count;
 
-    if ((dev->pdev->device != PCI_DEVICE_ID_VIA_CLE266) 
-        && (dev->pdev->device != PCI_DEVICE_ID_VIA_KM400)) {
+    if ((pdev->device != PCI_DEVICE_ID_VIA_CLE266)
+        && (pdev->device != PCI_DEVICE_ID_VIA_KM400)) {
                /* DN[6:0] */
                for (pll_n = 2; pll_n < 6; pll_n++) {
                        /* DR[2:0] */
@@ -150,7 +151,7 @@ via_get_clk_value(struct drm_device *dev, u32 freq)
                }
        }
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_CLE266:
        case PCI_DEVICE_ID_VIA_KM400:
                /* Clock Synthesizer Value 0[7:6]: DR[1:0]
@@ -201,6 +202,7 @@ via_set_vclock(struct drm_crtc *crtc, u32 clk)
        struct openchrome_drm_private *dev_private =
                                                crtc->dev->dev_private;
        struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        unsigned long max_loop = 50, i = 0;
 
        if (!iga->index) {
@@ -208,8 +210,8 @@ via_set_vclock(struct drm_crtc *crtc, u32 clk)
                svga_wcrt_mask(VGABASE, 0x17, 0x00, BIT(7));
 
                /* set clk */
-               if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-                   (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+               if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+                   (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                        vga_wseq(VGABASE, 0x46, (clk & 0xFF00) >> 8);   /* 
rshift + divisor */
                        vga_wseq(VGABASE, 0x47, (clk & 0x00FF));        /* 
multiplier */
                } else {
@@ -235,8 +237,8 @@ via_set_vclock(struct drm_crtc *crtc, u32 clk)
                svga_wcrt_mask(VGABASE, 0x6A, 0x00, BIT(6));
 
                /* set clk */
-               if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-                   (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+               if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+                   (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                        vga_wseq(VGABASE, 0x44, (clk & 0xFF00) >> 8);
                        vga_wseq(VGABASE, 0x45, (clk & 0x00FF));
                } else {
diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c 
b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index 0ce9af620d01..4fcd395f0f7c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -172,6 +172,8 @@ static int openchrome_gamma_set(struct drm_crtc *crtc,
                                uint32_t size,
                                struct drm_modeset_acquire_ctx *ctx)
 {
+       struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
                                                crtc->dev->dev_private;
        struct via_crtc *iga = container_of(crtc,
@@ -274,7 +276,7 @@ static int openchrome_gamma_set(struct drm_crtc *crtc,
 
                        /* Old platforms LUT are 6 bits in size.
                         * Newer it is 8 bits. */
-                       switch (crtc->dev->pdev->device) {
+                       switch (pdev->device) {
                        case PCI_DEVICE_ID_VIA_CLE266:
                        case PCI_DEVICE_ID_VIA_KM400:
                        case PCI_DEVICE_ID_VIA_K8M800:
@@ -379,6 +381,7 @@ static int via_iga1_display_fifo_regs(
                        struct drm_display_mode *mode,
                        struct drm_framebuffer *fb)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u32 reg_value;
        unsigned int fifo_max_depth = 0;
        unsigned int fifo_threshold = 0;
@@ -389,7 +392,7 @@ static int via_iga1_display_fifo_regs(
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_CLE266:
                if (dev_private->revision == CLE266_REVISION_AX) {
                        if (mode->hdisplay > 1024) {
@@ -715,20 +718,20 @@ static int via_iga1_display_fifo_regs(
                goto exit;
        }
 
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_K8M800) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_PM800) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_CN700) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_VT3157)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_KM400) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_K8M800) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_PM800) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_CN700) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_VT3157)) {
                /* Force PREQ to be always higher than TREQ. */
                svga_wseq_mask(VGABASE, 0x18, BIT(6), BIT(6));
        } else {
                svga_wseq_mask(VGABASE, 0x18, 0x00, BIT(6));
        }
 
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                if (enable_extended_display_fifo) {
                        reg_value = VIA_READ(0x0298);
                        VIA_WRITE(0x0298, reg_value | 0x20000000);
@@ -781,6 +784,7 @@ static int via_iga2_display_fifo_regs(
                        struct drm_display_mode *mode,
                        struct drm_framebuffer *fb)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u32 reg_value;
        unsigned int fifo_max_depth = 0;
        unsigned int fifo_threshold = 0;
@@ -791,7 +795,7 @@ static int via_iga2_display_fifo_regs(
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_CLE266:
                if (dev_private->revision == CLE266_REVISION_AX) {
                        if (((dev_private->vram_type <= VIA_MEM_DDR_200) &&
@@ -1045,8 +1049,8 @@ static int via_iga2_display_fifo_regs(
                goto exit;
        }
 
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                if (enable_extended_display_fifo) {
                        /* Enable IGA2 extended display FIFO. */
                        svga_wcrt_mask(VGABASE, 0x6a, BIT(5), BIT(5));
@@ -1056,8 +1060,8 @@ static int via_iga2_display_fifo_regs(
                }
        }
 
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-               (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                /* Set IGA2 Display FIFO Depth Select */
                reg_value = IGA2_FIFO_DEPTH_SELECT_FORMULA(fifo_max_depth);
                load_value_to_registers(VGABASE, &iga->fifo_depth, reg_value);
@@ -1172,10 +1176,11 @@ via_load_crtc_timing(struct via_crtc *iga, struct 
drm_display_mode *mode)
        struct openchrome_drm_private *dev_private =
                                        iga->base.dev->dev_private;
        struct drm_device *dev = iga->base.dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u32 reg_value = 0;
 
        if (!iga->index) {
-               if (dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA) {
+               if (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA) {
                        /* Disable IGA1 shadow timing */
                        svga_wcrt_mask(VGABASE, 0x45, 0x00, BIT(0));
 
@@ -1271,6 +1276,7 @@ via_set_scale_path(struct drm_crtc *crtc, u32 scale_type)
                                                crtc->dev->dev_private;
        u8 reg_cr_fd = vga_rcrt(VGABASE, 0xFD);
        struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
 
        if (!iga->index)
                /* register reuse: select IGA1 path */
@@ -1280,7 +1286,7 @@ via_set_scale_path(struct drm_crtc *crtc, u32 scale_type)
                reg_cr_fd &= ~BIT(7);
 
        /* only IGA1 up scaling need to clear this bit CRFD.5. */
-       if (dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA) {
+       if (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA) {
                if (!iga->index
                        && ((VIA_HOR_EXPAND & scale_type)
                        || (VIA_VER_EXPAND & scale_type)))
@@ -1580,6 +1586,7 @@ void openchrome_mode_set_nofb(struct drm_crtc *crtc)
        struct openchrome_drm_private *dev_private =
                                                crtc->dev->dev_private;
        struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u8 reg_value = 0;
        int ret;
 
@@ -1590,7 +1597,7 @@ void openchrome_mode_set_nofb(struct drm_crtc *crtc)
                via_load_vpit_regs(dev_private);
 
                /* Unlock */
-               via_unlock_crtc(VGABASE, dev->pdev->device);
+               via_unlock_crtc(VGABASE, pdev->device);
 
                /* IGA1 reset */
                vga_wcrt(VGABASE, 0x09, 0x00); /* initial CR09=0 */
@@ -1662,7 +1669,7 @@ void openchrome_mode_set_nofb(struct drm_crtc *crtc)
                via_load_vpit_regs(dev_private);
 
                /* Unlock */
-               via_unlock_crtc(VGABASE, dev->pdev->device);
+               via_unlock_crtc(VGABASE, pdev->device);
 
                /* disable IGA scales first */
                via_disable_iga_scaling(crtc);
@@ -1916,6 +1923,7 @@ void openchrome_primary_atomic_update(struct drm_plane 
*plane,
                /* Set the framebuffer offset */
                addr = round_up((bo->ttm_bo.mem.start << PAGE_SHIFT) +
                                pitch, 16) >> 1;
+
                vga_wcrt(VGABASE, 0x0D, addr & 0xFF);
                vga_wcrt(VGABASE, 0x0C, (addr >> 8) & 0xFF);
                /* Yes order of setting these registers matters on some 
hardware */
@@ -2040,6 +2048,7 @@ static void openchrome_crtc_param_init(
                uint32_t index)
 {
        struct drm_device *dev = dev_private->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = container_of(crtc,
                                                struct via_crtc, base);
        u16 *gamma;
@@ -2051,12 +2060,12 @@ static void openchrome_crtc_param_init(
 
                iga->timings.hdisplay.count = ARRAY_SIZE(iga2_hor_addr);
                iga->timings.hdisplay.regs = iga2_hor_addr;
-               if (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
+               if (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
                        iga->timings.hdisplay.count--;
 
                iga->timings.hblank_start.count = 
ARRAY_SIZE(iga2_hor_blank_start);
                iga->timings.hblank_start.regs = iga2_hor_blank_start;
-               if (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
+               if (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
                        iga->timings.hblank_start.count--;
 
                iga->timings.hblank_end.count = ARRAY_SIZE(iga2_hor_blank_end);
@@ -2064,8 +2073,8 @@ static void openchrome_crtc_param_init(
 
                iga->timings.hsync_start.count = 
ARRAY_SIZE(iga2_hor_sync_start);
                iga->timings.hsync_start.regs = iga2_hor_sync_start;
-               if (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266
-                       || dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)
+               if (pdev->device == PCI_DEVICE_ID_VIA_CLE266
+                       || pdev->device == PCI_DEVICE_ID_VIA_KM400)
                        iga->timings.hsync_start.count--;
 
                iga->timings.hsync_end.count = ARRAY_SIZE(iga2_hor_sync_end);
@@ -2090,8 +2099,8 @@ static void openchrome_crtc_param_init(
                iga->timings.vsync_end.regs = iga2_ver_sync_end;
 
                /* Secondary FIFO setup */
-               if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-                       (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+               if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+                       (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                        iga->fifo_depth.count =
                                ARRAY_SIZE(iga2_cle266_fifo_depth_select);
                        iga->fifo_depth.regs = iga2_cle266_fifo_depth_select;
@@ -2125,12 +2134,12 @@ static void openchrome_crtc_param_init(
 
                iga->timings.hdisplay.count = ARRAY_SIZE(iga1_hor_addr);
                iga->timings.hdisplay.regs = iga1_hor_addr;
-               if (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
+               if (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
                        iga->timings.hdisplay.count--;
 
                iga->timings.hblank_start.count = 
ARRAY_SIZE(iga1_hor_blank_start);
                iga->timings.hblank_start.regs = iga1_hor_blank_start;
-               if (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
+               if (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA)
                        iga->timings.hblank_start.count--;
 
                iga->timings.hblank_end.count = ARRAY_SIZE(iga1_hor_blank_end);
@@ -2161,8 +2170,8 @@ static void openchrome_crtc_param_init(
                iga->timings.vsync_end.regs = iga1_ver_sync_end;
 
                /* Primary FIFO setup */
-               if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
-                       (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
+               if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+                       (pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
                        iga->fifo_depth.count = 
ARRAY_SIZE(iga1_cle266_fifo_depth_select);
                        iga->fifo_depth.regs = iga1_cle266_fifo_depth_select;
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_cursor.c 
b/drivers/gpu/drm/openchrome/openchrome_cursor.c
index ab870ede2035..7d08533d0ad1 100644
--- a/drivers/gpu/drm/openchrome/openchrome_cursor.c
+++ b/drivers/gpu/drm/openchrome/openchrome_cursor.c
@@ -52,13 +52,14 @@
 static void openchrome_hide_cursor(struct drm_device *dev,
                                        struct drm_crtc *crtc)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
                                        dev->dev_private;
        uint32_t temp;
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT3343:
        case PCI_DEVICE_ID_VIA_P4M900:
@@ -84,12 +85,13 @@ static void openchrome_hide_cursor(struct drm_device *dev,
 static void openchrome_show_cursor(struct drm_crtc *crtc)
 {
        struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
                                        crtc->dev->dev_private;
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT3343:
        case PCI_DEVICE_ID_VIA_P4M900:
@@ -126,7 +128,7 @@ static void openchrome_show_cursor(struct drm_crtc *crtc)
                break;
        }
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT3343:
        case PCI_DEVICE_ID_VIA_P4M900:
@@ -161,12 +163,13 @@ static void openchrome_cursor_address(struct drm_crtc 
*crtc,
                                        struct openchrome_bo *ttm_bo)
 {
        struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
                                        crtc->dev->dev_private;
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT3343:
        case PCI_DEVICE_ID_VIA_P4M900:
@@ -201,6 +204,7 @@ static void openchrome_set_hi_location(struct drm_crtc 
*crtc,
                                        int crtc_y)
 {
        struct drm_device *dev = crtc->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
@@ -220,7 +224,7 @@ static void openchrome_set_hi_location(struct drm_crtc 
*crtc,
                location_y = crtc_y;
        }
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT3343:
        case PCI_DEVICE_ID_VIA_P4M900:
diff --git a/drivers/gpu/drm/openchrome/openchrome_display.c 
b/drivers/gpu/drm/openchrome/openchrome_display.c
index e33df4f7c1a1..e687625dbb46 100644
--- a/drivers/gpu/drm/openchrome/openchrome_display.c
+++ b/drivers/gpu/drm/openchrome/openchrome_display.c
@@ -38,6 +38,7 @@ via_encoder_commit(struct drm_encoder *encoder)
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
        struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = NULL;
        u8 value = 0;
 
@@ -54,7 +55,7 @@ via_encoder_commit(struct drm_encoder *encoder)
                /* DVP0 Data Source Selection. */
                svga_wcrt_mask(VGABASE, 0x96, value, BIT(4));
                /* enable DVP0 under CX700 */
-               if (encoder->dev->pdev->device == PCI_DEVICE_ID_VIA_VT3157)
+               if (pdev->device == PCI_DEVICE_ID_VIA_VT3157)
                        svga_wcrt_mask(VGABASE, 0x91, BIT(5), BIT(5));
                /* Turn on DVP0 clk */
                svga_wseq_mask(VGABASE, 0x1E, 0xC0, BIT(7) | BIT(6));
@@ -64,10 +65,10 @@ via_encoder_commit(struct drm_encoder *encoder)
                svga_wcrt_mask(VGABASE, 0x9B, value, BIT(4));
                /* enable DVP1 under these chipset. Does DVI exist
                 * for pre CX700 hardware */
-               if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT3157) ||
-                   (dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) ||
-                   (dev->pdev->device == PCI_DEVICE_ID_VIA_VX875) ||
-                   (dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA))
+               if ((pdev->device == PCI_DEVICE_ID_VIA_VT3157) ||
+                   (pdev->device == PCI_DEVICE_ID_VIA_VT1122) ||
+                   (pdev->device == PCI_DEVICE_ID_VIA_VX875) ||
+                   (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA))
                        svga_wcrt_mask(VGABASE, 0xD3, 0x00, BIT(5));
                /* Turn on DVP1 clk */
                svga_wseq_mask(VGABASE, 0x1E, 0x30, BIT(5) | BIT(4));
@@ -75,10 +76,10 @@ via_encoder_commit(struct drm_encoder *encoder)
 
        case VIA_DI_PORT_DFPH:
                /* Port 96 is used on older hardware for the DVP0 */
-               if ((dev->pdev->device != PCI_DEVICE_ID_VIA_VT3157) &&
-                   (dev->pdev->device != PCI_DEVICE_ID_VIA_VT1122) &&
-                   (dev->pdev->device != PCI_DEVICE_ID_VIA_VX875) &&
-                   (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA))
+               if ((pdev->device != PCI_DEVICE_ID_VIA_VT3157) &&
+                   (pdev->device != PCI_DEVICE_ID_VIA_VT1122) &&
+                   (pdev->device != PCI_DEVICE_ID_VIA_VX875) &&
+                   (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA))
                        svga_wcrt_mask(VGABASE, 0x96, value, BIT(4));
 
                svga_wcrt_mask(VGABASE, 0x97, value, BIT(4));
@@ -88,10 +89,10 @@ via_encoder_commit(struct drm_encoder *encoder)
 
        case VIA_DI_PORT_DFPL:
                /* Port 9B is used on older hardware for the DVP1 */
-               if ((dev->pdev->device != PCI_DEVICE_ID_VIA_VT3157) &&
-                   (dev->pdev->device != PCI_DEVICE_ID_VIA_VT1122) &&
-                   (dev->pdev->device != PCI_DEVICE_ID_VIA_VX875) &&
-                   (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA))
+               if ((pdev->device != PCI_DEVICE_ID_VIA_VT3157) &&
+                   (pdev->device != PCI_DEVICE_ID_VIA_VT1122) &&
+                   (pdev->device != PCI_DEVICE_ID_VIA_VX875) &&
+                   (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA))
                        svga_wcrt_mask(VGABASE, 0x9B, value, BIT(4));
 
                svga_wcrt_mask(VGABASE, 0x99, value, BIT(4));
@@ -100,8 +101,8 @@ via_encoder_commit(struct drm_encoder *encoder)
                break;
 
        case VIA_DI_PORT_DFP:
-               if ((dev->pdev->device == PCI_DEVICE_ID_VIA_K8M890) ||
-                   (dev->pdev->device == PCI_DEVICE_ID_VIA_VT3343))
+               if ((pdev->device == PCI_DEVICE_ID_VIA_K8M890) ||
+                   (pdev->device == PCI_DEVICE_ID_VIA_VT3343))
                        svga_wcrt_mask(VGABASE, 0x97, 0x84,
                                        BIT(7) | BIT(2) | BIT(1) | BIT(0));
 
@@ -141,7 +142,7 @@ via_encoder_commit(struct drm_encoder *encoder)
        /* Older chipsets only used CR91 to control all DI ports.
         * For newer chipsets (CX700 and above) CR91 and CRD3 are
         * used to control DVP0 and DVP1 seperately */
-       if (iga->index && dev->pdev->device != PCI_DEVICE_ID_VIA_VT3157)
+       if (iga->index && pdev->device != PCI_DEVICE_ID_VIA_VT3157)
                svga_wcrt_mask(VGABASE, 0x91, 0x00, BIT(5));
 
        /* Now turn on the display */
@@ -323,6 +324,7 @@ static struct td_timer td_timer_regs[] = {
 static void
 via_init_td_timing_regs(struct drm_device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private = dev->dev_private;
        unsigned int td_timer[4] = { 500, 50, 0, 510 }, i;
        struct vga_registers timings;
@@ -340,7 +342,7 @@ via_init_td_timing_regs(struct drm_device *dev)
 
        /* Note: VT3353 have two hardware power sequences
         * other chips only have one hardware power sequence */
-       if (dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) {
+       if (pdev->device == PCI_DEVICE_ID_VIA_VT1122) {
                /* set CRD4[0] to "1" to select 2nd LCD power sequence. */
                svga_wcrt_mask(VGABASE, 0xD4, BIT(0), BIT(0));
                /* Fill secondary power sequence */
@@ -388,9 +390,10 @@ via_hwcursor_init(struct openchrome_drm_private 
*dev_private)
 static void
 via_init_crtc_regs(struct drm_device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private = dev->dev_private;
 
-       via_unlock_crtc(VGABASE, dev->pdev->device);
+       via_unlock_crtc(VGABASE, pdev->device);
 
        /* always set to 1 */
        svga_wcrt_mask(VGABASE, 0x03, BIT(7), BIT(7));
@@ -412,11 +415,11 @@ via_init_crtc_regs(struct drm_device *dev)
        vga_wcrt(VGABASE, 0x14, 0x00);
 
        /* If K8M800, enable Prefetch Mode. */
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_K8M800) ||
-           (dev->pdev->device == PCI_DEVICE_ID_VIA_K8M890))
+       if ((pdev->device == PCI_DEVICE_ID_VIA_K8M800) ||
+           (pdev->device == PCI_DEVICE_ID_VIA_K8M890))
                svga_wcrt_mask(VGABASE, 0x33, 0x00, BIT(3));
 
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) &&
+       if ((pdev->device == PCI_DEVICE_ID_VIA_CLE266) &&
            (dev_private->revision == CLE266_REVISION_AX))
                svga_wseq_mask(VGABASE, 0x1A, BIT(1), BIT(1));
 
@@ -426,11 +429,12 @@ via_init_crtc_regs(struct drm_device *dev)
 static void
 via_display_init(struct drm_device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private = dev->dev_private;
        u8 index = 0x3D, value;
 
        /* Check if spread spectrum is enabled */
-       if (dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA)
+       if (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA)
                index = 0x2C;
 
        value = vga_rseq(VGABASE, 0x1E);
@@ -459,6 +463,7 @@ via_display_init(struct drm_device *dev)
 int
 via_modeset_init(struct drm_device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private = dev->dev_private;
        uint32_t i;
        int ret = 0;
@@ -502,7 +507,7 @@ via_modeset_init(struct drm_device *dev)
 
        via_fp_init(dev);
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VX900_VGA:
                via_hdmi_init(dev, VIA_DI_PORT_NONE);
                break;
diff --git a/drivers/gpu/drm/openchrome/openchrome_fp.c 
b/drivers/gpu/drm/openchrome/openchrome_fp.c
index 47ebf87fcc3d..5e8be68e5138 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fp.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fp.c
@@ -591,11 +591,12 @@ static void via_fp_dpms(struct drm_encoder *encoder, int 
mode)
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
        struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
        /* PCI Device ID */
-       u16 chipset = dev->pdev->device;
+       u16 chipset = pdev->device;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -687,11 +688,12 @@ static void via_fp_prepare(struct drm_encoder *encoder)
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
        struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
        /* PCI Device ID */
-       u16 chipset = dev->pdev->device;
+       u16 chipset = pdev->device;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -706,11 +708,12 @@ static void via_fp_commit(struct drm_encoder *encoder)
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
        struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
        /* PCI Device ID */
-       u16 chipset = dev->pdev->device;
+       u16 chipset = pdev->device;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -726,11 +729,13 @@ via_fp_mode_set(struct drm_encoder *encoder, struct 
drm_display_mode *mode,
 {
        struct via_crtc *iga = container_of(encoder->crtc, struct via_crtc, 
base);
        struct via_encoder *enc = container_of(encoder, struct via_encoder, 
base);
+       struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
        /* PCI Device ID */
-       u16 chipset = encoder->dev->pdev->device;
+       u16 chipset = pdev->device;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -771,11 +776,12 @@ static void via_fp_disable(struct drm_encoder *encoder)
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
        struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
        /* PCI Device ID */
-       u16 chipset = dev->pdev->device;
+       u16 chipset = pdev->device;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -802,6 +808,8 @@ const struct drm_encoder_funcs via_lvds_enc_funcs = {
 static enum drm_connector_status
 via_fp_detect(struct drm_connector *connector,  bool force)
 {
+       struct drm_device *dev = connector->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_connector *con = container_of(connector,
                                        struct via_connector, base);
        struct openchrome_drm_private *dev_private =
@@ -858,8 +866,7 @@ via_fp_detect(struct drm_connector *connector,  bool force)
                i2c_bus_bit = i2c_bus_bit << 1;
        }
 
-       if (connector->dev->pdev->device ==
-                                       PCI_DEVICE_ID_VIA_CLE266) {
+       if (pdev->device == PCI_DEVICE_ID_VIA_CLE266) {
                mask = BIT(3);
        } else {
                mask = BIT(1);
@@ -1033,6 +1040,7 @@ via_fp_mode_valid(struct drm_connector *connector,
        struct drm_property *prop = 
connector->dev->mode_config.scaling_mode_property;
        struct drm_display_mode *native_mode = NULL, *tmp, *t;
        struct drm_device *dev = connector->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u64 scale_mode = DRM_MODE_SCALE_CENTER;
 
        list_for_each_entry_safe(tmp, t, &connector->modes, head) {
@@ -1050,7 +1058,7 @@ via_fp_mode_valid(struct drm_connector *connector,
                return MODE_PANEL;
 
        /* Don't support mode larger than physical size */
-       if (dev->pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA) {
+       if (pdev->device != PCI_DEVICE_ID_VIA_VX900_VGA) {
                if (mode->hdisplay > native_mode->hdisplay)
                        return MODE_PANEL;
                if (mode->vdisplay > native_mode->vdisplay)
@@ -1085,11 +1093,12 @@ struct drm_connector_helper_funcs 
via_fp_connector_helper_funcs = {
  */
 void via_fp_probe(struct drm_device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private = dev->dev_private;
        struct drm_connector connector;
        struct i2c_adapter *i2c_bus;
        struct edid *edid;
-       u16 chipset = dev->pdev->device;
+       u16 chipset = pdev->device;
        u8 sr12, sr13, sr5a;
        u8 cr3b;
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_hdmi.c 
b/drivers/gpu/drm/openchrome/openchrome_hdmi.c
index 568ea2068504..abb0384e1f11 100644
--- a/drivers/gpu/drm/openchrome/openchrome_hdmi.c
+++ b/drivers/gpu/drm/openchrome/openchrome_hdmi.c
@@ -251,6 +251,7 @@ via_hdmi_enc_mode_set(struct drm_encoder *encoder,
        struct openchrome_drm_private *dev_private = encoder->dev->dev_private;
        struct drm_connector *connector = NULL, *con;
        struct drm_device *dev = encoder->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
 
        list_for_each_entry(con, &dev->mode_config.connector_list, head) {
                if (encoder ==  con->encoder) {
@@ -286,7 +287,7 @@ via_hdmi_enc_mode_set(struct drm_encoder *encoder,
                                /* FIXME VIA where do you get this value from 
??? */
                                u32 v_sync_adjust = 0;
 
-                               switch (dev->pdev->device) {
+                               switch (pdev->device) {
                                case PCI_DEVICE_ID_VIA_VX875:
                                        svga_wcrt_mask(VGABASE, 0xFB,
                                                        v_sync_adjust & 0xFF, 
0xFF);
@@ -359,7 +360,7 @@ via_hdmi_enc_mode_set(struct drm_encoder *encoder,
 
        /* Patch for clock skew */
        if (enc->di_port == VIA_DI_PORT_DVP1) {
-               switch (dev->pdev->device) {
+               switch (pdev->device) {
                case PCI_DEVICE_ID_VIA_VT3157:  /* CX700 */
                        svga_wcrt_mask(VGABASE, 0x65, 0x0B, 0x0F);
                        svga_wcrt_mask(VGABASE, 0x9B, 0x00, 0x0F);
@@ -673,6 +674,7 @@ static const struct drm_connector_helper_funcs 
via_hdmi_connector_helper_funcs =
 void
 via_hdmi_init(struct drm_device *dev, u32 di_port)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_connector *dvi, *hdmi;
        struct via_encoder *enc;
 
@@ -703,7 +705,7 @@ via_hdmi_init(struct drm_device *dev, u32 di_port)
        hdmi->base.doublescan_allowed = false;
        INIT_LIST_HEAD(&hdmi->props);
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT1122:
                hdmi->base.interlace_allowed = false;
@@ -724,7 +726,7 @@ via_hdmi_init(struct drm_device *dev, u32 di_port)
        dvi->base.doublescan_allowed = false;
        INIT_LIST_HEAD(&dvi->props);
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
        case PCI_DEVICE_ID_VIA_VT3353:
                dvi->base.interlace_allowed = false;
diff --git a/drivers/gpu/drm/openchrome/openchrome_init.c 
b/drivers/gpu/drm/openchrome/openchrome_init.c
index 984a238774da..e6f4948e9742 100644
--- a/drivers/gpu/drm/openchrome/openchrome_init.c
+++ b/drivers/gpu/drm/openchrome/openchrome_init.c
@@ -767,6 +767,7 @@ static int vx900_mem_type(struct openchrome_drm_private 
*dev_private,
 int openchrome_vram_detect(struct openchrome_drm_private *dev_private)
 {
        struct drm_device *dev = dev_private->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct pci_dev *bridge = NULL;
        struct pci_dev *fn3 = NULL;
        char *name = "unknown";
@@ -791,19 +792,19 @@ int openchrome_vram_detect(struct openchrome_drm_private 
*dev_private)
                goto out_err;
        }
 
-       if (!fn3 && dev->pdev->device != PCI_DEVICE_ID_VIA_CLE266
-               && dev->pdev->device != PCI_DEVICE_ID_VIA_KM400) {
+       if (!fn3 && pdev->device != PCI_DEVICE_ID_VIA_CLE266
+               && pdev->device != PCI_DEVICE_ID_VIA_KM400) {
                ret = -EINVAL;
                DRM_ERROR("No function 3 on host bridge...\n");
                goto out_err;
        }
 
-       if (dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA) {
+       if (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA) {
                dev_private->vram_start =
-                               pci_resource_start(dev->pdev, 2);
+                               pci_resource_start(pdev, 2);
        } else {
                dev_private->vram_start =
-                               pci_resource_start(dev->pdev, 0);
+                               pci_resource_start(pdev, 0);
        }
 
        switch (bridge->device) {
@@ -1014,6 +1015,7 @@ static void openchrome_quirks_init(
                        struct openchrome_drm_private *dev_private)
 {
        struct drm_device *dev = dev_private->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -1026,9 +1028,9 @@ static void openchrome_quirks_init(
         * setting to handle DVI. As a result, the code needs to know
         * this in order to support DVI properly.
         */
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT3157) &&
-               (dev->pdev->subsystem_vendor == 0x1509) &&
-               (dev->pdev->subsystem_device == 0x2d30)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_VT3157) &&
+               (pdev->subsystem_vendor == 0x1509) &&
+               (pdev->subsystem_device == 0x2d30)) {
                dev_private->is_via_nanobook = true;
        } else {
                dev_private->is_via_nanobook = false;
@@ -1039,9 +1041,9 @@ static void openchrome_quirks_init(
         * due to its flat panel connected to DVP1 (Digital
         * Video Port 1) rather than its LVDS channel.
         */
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) &&
-               (dev->pdev->subsystem_vendor == 0x152d) &&
-               (dev->pdev->subsystem_device == 0x0771)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_VT1122) &&
+               (pdev->subsystem_vendor == 0x152d) &&
+               (pdev->subsystem_device == 0x0771)) {
                dev_private->is_quanta_il1 = true;
        } else {
                dev_private->is_quanta_il1 = false;
@@ -1053,9 +1055,9 @@ static void openchrome_quirks_init(
         * flag register is needed for properly controlling its
         * FP.
         */
-       if ((dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) &&
-               (dev->pdev->subsystem_vendor == 0x144d) &&
-               (dev->pdev->subsystem_device == 0xc04e)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_VT1122) &&
+               (pdev->subsystem_vendor == 0x144d) &&
+               (pdev->subsystem_device == 0xc04e)) {
                dev_private->is_samsung_nc20 = true;
        } else {
                dev_private->is_samsung_nc20 = false;
@@ -1097,6 +1099,7 @@ int openchrome_mmio_init(
                        struct openchrome_drm_private *dev_private)
 {
        struct drm_device *dev = dev_private->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        int ret = 0;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -1107,8 +1110,8 @@ int openchrome_mmio_init(
         * Obtain the starting base address and size, and
         * map it to the OS for use.
         */
-       dev_private->mmio_base = pci_resource_start(dev->pdev, 1);
-       dev_private->mmio_size = pci_resource_len(dev->pdev, 1);
+       dev_private->mmio_base = pci_resource_start(pdev, 1);
+       dev_private->mmio_size = pci_resource_len(pdev, 1);
        dev_private->mmio = ioremap(dev_private->mmio_base,
                                        dev_private->mmio_size);
        if (!dev_private->mmio) {
@@ -1165,11 +1168,12 @@ void openchrome_graphics_unlock(
 void chip_revision_info(struct openchrome_drm_private *dev_private)
 {
        struct drm_device *dev = dev_private->dev;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
        u8 tmp;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       switch (dev->pdev->device) {
+       switch (pdev->device) {
        /* CLE266 Chipset */
        case PCI_DEVICE_ID_VIA_CLE266:
                /* CR4F only defined in CLE266.CX chipset. */
diff --git a/drivers/gpu/drm/openchrome/openchrome_pm.c 
b/drivers/gpu/drm/openchrome/openchrome_pm.c
index bbfa26a2e1bd..18adb8f50abb 100644
--- a/drivers/gpu/drm/openchrome/openchrome_pm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_pm.c
@@ -52,9 +52,9 @@ int openchrome_dev_pm_ops_suspend(struct device *dev)
         * are only available on VX800, VX855, and VX900 chipsets. This bug
         * was observed on VIA Embedded EPIA-M830 mainboard.
         */
-       if ((drm_dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) ||
-               (drm_dev->pdev->device == PCI_DEVICE_ID_VIA_VX875) ||
-               (drm_dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_VT1122) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_VX875) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA)) {
                dev_private->saved_sr14 = vga_rseq(VGABASE, 0x14);
 
                dev_private->saved_sr66 = vga_rseq(VGABASE, 0x66);
@@ -147,9 +147,9 @@ int openchrome_dev_pm_ops_resume(struct device *dev)
         * are only available on VX800, VX855, and VX900 chipsets. This bug
         * was observed on VIA Embedded EPIA-M830 mainboard.
         */
-       if ((drm_dev->pdev->device == PCI_DEVICE_ID_VIA_VT1122) ||
-               (drm_dev->pdev->device == PCI_DEVICE_ID_VIA_VX875) ||
-               (drm_dev->pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA)) {
+       if ((pdev->device == PCI_DEVICE_ID_VIA_VT1122) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_VX875) ||
+               (pdev->device == PCI_DEVICE_ID_VIA_VX900_VGA)) {
                vga_wseq(VGABASE, 0x14, dev_private->saved_sr14);
 
                vga_wseq(VGABASE, 0x66, dev_private->saved_sr66);
diff --git a/drivers/gpu/drm/openchrome/openchrome_tmds.c 
b/drivers/gpu/drm/openchrome/openchrome_tmds.c
index 920b167762b8..e9bade37e785 100644
--- a/drivers/gpu/drm/openchrome/openchrome_tmds.c
+++ b/drivers/gpu/drm/openchrome/openchrome_tmds.c
@@ -409,7 +409,8 @@ static const struct drm_connector_helper_funcs 
via_dvi_connector_helper_funcs =
 void via_tmds_probe(struct drm_device *dev)
 {
        struct openchrome_drm_private *dev_private = dev->dev_private;
-       u16 chipset = dev->pdev->device;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
+       u16 chipset = pdev->device;
        u8 sr13, sr5a;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -541,7 +542,8 @@ void openchrome_ext_dvi_probe(struct drm_device *dev)
 {
        struct openchrome_drm_private *dev_private = dev->dev_private;
        struct i2c_adapter *i2c_bus;
-       u16 chipset = dev->pdev->device;
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
+       u16 chipset = pdev->device;
        u8 sr12, sr13;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
_______________________________________________
openchrome-devel mailing list
openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to