]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/nouveau/bios: switch to device pri macros
authorBen Skeggs <bskeggs@redhat.com>
Thu, 20 Aug 2015 04:54:08 +0000 (14:54 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 28 Aug 2015 02:40:14 +0000 (12:40 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.c

index 045b7ddb4d66552ea08cb1ed10f7ffff47920daa..64d7b482674d8a685a51448e63c9653f7d055865 100644 (file)
@@ -180,27 +180,30 @@ init_nvreg(struct nvbios_init *init, u32 reg)
 static u32
 init_rd32(struct nvbios_init *init, u32 reg)
 {
+       struct nvkm_device *device = init->bios->subdev.device;
        reg = init_nvreg(init, reg);
        if (reg != ~0 && init_exec(init))
-               return nv_rd32(init->subdev, reg);
+               return nvkm_rd32(device, reg);
        return 0x00000000;
 }
 
 static void
 init_wr32(struct nvbios_init *init, u32 reg, u32 val)
 {
+       struct nvkm_device *device = init->bios->subdev.device;
        reg = init_nvreg(init, reg);
        if (reg != ~0 && init_exec(init))
-               nv_wr32(init->subdev, reg, val);
+               nvkm_wr32(device, reg, val);
 }
 
 static u32
 init_mask(struct nvbios_init *init, u32 reg, u32 mask, u32 val)
 {
+       struct nvkm_device *device = init->bios->subdev.device;
        reg = init_nvreg(init, reg);
        if (reg != ~0 && init_exec(init)) {
-               u32 tmp = nv_rd32(init->subdev, reg);
-               nv_wr32(init->subdev, reg, (tmp & ~mask) | val);
+               u32 tmp = nvkm_rd32(device, reg);
+               nvkm_wr32(device, reg, (tmp & ~mask) | val);
                return tmp;
        }
        return 0x00000000;
index ac48ccc5d2c437056510db4597ed52acd022f874..d26d89abf7eb040e93eecf14809ed5f675d09cd6 100644 (file)
@@ -221,6 +221,7 @@ pll_map_type(struct nvkm_bios *bios, u8 type, u32 *reg, u8 *ver, u8 *len)
 int
 nvbios_pll_parse(struct nvkm_bios *bios, u32 type, struct nvbios_pll *info)
 {
+       struct nvkm_device *device = bios->subdev.device;
        u8  ver, len;
        u32 reg = type;
        u16 data;
@@ -360,9 +361,9 @@ nvbios_pll_parse(struct nvkm_bios *bios, u32 type, struct nvbios_pll *info)
        }
 
        if (!info->refclk) {
-               info->refclk = nv_device(bios)->crystal;
+               info->refclk = device->crystal;
                if (bios->version.chip == 0x51) {
-                       u32 sel_clk = nv_rd32(bios, 0x680524);
+                       u32 sel_clk = nvkm_rd32(device, 0x680524);
                        if ((info->reg == 0x680508 && sel_clk & 0x20) ||
                            (info->reg == 0x680520 && sel_clk & 0x80)) {
                                if (nv_rdvgac(bios, 0, 0x27) < 0xa3)
@@ -392,7 +393,7 @@ nvbios_pll_parse(struct nvkm_bios *bios, u32 type, struct nvbios_pll *info)
                info->vco1.max_n = 0xff;
                info->vco1.min_m = 0x1;
 
-               if (nv_device(bios)->crystal == 13500) {
+               if (device->crystal == 13500) {
                        /* nv05 does this, nv11 doesn't, nv10 unknown */
                        if (bios->version.chip < 0x11)
                                info->vco1.min_m = 0x7;
index a17b221119b2320e506ca76e1c4cc6241869d2fa..35a808708126ac4ff75927ac730cd1a96f701ee4 100644 (file)
@@ -29,7 +29,7 @@
 static u8
 nvbios_ramcfg_strap(struct nvkm_subdev *subdev)
 {
-       return (nv_rd32(subdev, 0x101000) & 0x0000003c) >> 2;
+       return (nvkm_rd32(subdev->device, 0x101000) & 0x0000003c) >> 2;
 }
 
 u8
index c2c31ba59868d1227c5e76da1d3c4d5cd530854b..9d0e206aef5e6d1fc43541bee288319d9e888acf 100644 (file)
@@ -30,10 +30,11 @@ struct priv {
 static u32
 pramin_read(void *data, u32 offset, u32 length, struct nvkm_bios *bios)
 {
+       struct nvkm_device *device = bios->subdev.device;
        u32 i;
        if (offset + length <= 0x00100000) {
                for (i = offset; i < offset + length; i += 4)
-                       *(u32 *)&bios->data[i] = nv_rd32(bios, 0x700000 + i);
+                       *(u32 *)&bios->data[i] = nvkm_rd32(device, 0x700000 + i);
                return length;
        }
        return 0;
@@ -44,7 +45,8 @@ pramin_fini(void *data)
 {
        struct priv *priv = data;
        if (priv) {
-               nv_wr32(priv->bios, 0x001700, priv->bar0);
+               struct nvkm_device *device = priv->bios->subdev.device;
+               nvkm_wr32(device, 0x001700, priv->bar0);
                kfree(priv);
        }
 }
@@ -52,19 +54,20 @@ pramin_fini(void *data)
 static void *
 pramin_init(struct nvkm_bios *bios, const char *name)
 {
+       struct nvkm_device *device = bios->subdev.device;
        struct priv *priv = NULL;
        u64 addr = 0;
 
        /* PRAMIN always potentially available prior to nv50 */
-       if (nv_device(bios)->card_type < NV_50)
+       if (device->card_type < NV_50)
                return NULL;
 
        /* we can't get the bios image pointer without PDISP */
-       if (nv_device(bios)->card_type >= GM100)
-               addr = nv_rd32(bios, 0x021c04);
+       if (device->card_type >= GM100)
+               addr = nvkm_rd32(device, 0x021c04);
        else
-       if (nv_device(bios)->card_type >= NV_C0)
-               addr = nv_rd32(bios, 0x022500);
+       if (device->card_type >= NV_C0)
+               addr = nvkm_rd32(device, 0x022500);
        if (addr & 0x00000001) {
                nv_debug(bios, "... display disabled\n");
                return ERR_PTR(-ENODEV);
@@ -74,7 +77,7 @@ pramin_init(struct nvkm_bios *bios, const char *name)
         * important as we don't want to be touching vram on an
         * uninitialised board
         */
-       addr = nv_rd32(bios, 0x619f04);
+       addr = nvkm_rd32(device, 0x619f04);
        if (!(addr & 0x00000008)) {
                nv_debug(bios, "... not enabled\n");
                return ERR_PTR(-ENODEV);
@@ -87,7 +90,7 @@ pramin_init(struct nvkm_bios *bios, const char *name)
        /* some alternate method inherited from xf86-video-nv... */
        addr = (addr & 0xffffff00) << 8;
        if (!addr) {
-               addr  = (u64)nv_rd32(bios, 0x001700) << 16;
+               addr  = (u64)nvkm_rd32(device, 0x001700) << 16;
                addr += 0xf0000;
        }
 
@@ -98,8 +101,8 @@ pramin_init(struct nvkm_bios *bios, const char *name)
        }
 
        priv->bios = bios;
-       priv->bar0 = nv_rd32(bios, 0x001700);
-       nv_wr32(bios, 0x001700, addr >> 16);
+       priv->bar0 = nvkm_rd32(device, 0x001700);
+       nvkm_wr32(device, 0x001700, addr >> 16);
        return priv;
 }
 
index cd0b06fbc3c2e74f76ce78e032a01d6c1c18bb0b..be116f35c4bc5abc25cd7efd450dada55994a836 100644 (file)
 static u32
 prom_read(void *data, u32 offset, u32 length, struct nvkm_bios *bios)
 {
+       struct nvkm_device *device = data;
        u32 i;
        if (offset + length <= 0x00100000) {
                for (i = offset; i < offset + length; i += 4)
-                       *(u32 *)&bios->data[i] = nv_rd32(bios, 0x300000 + i);
+                       *(u32 *)&bios->data[i] = nvkm_rd32(device, 0x300000 + i);
                return length;
        }
        return 0;
@@ -37,25 +38,25 @@ prom_read(void *data, u32 offset, u32 length, struct nvkm_bios *bios)
 static void
 prom_fini(void *data)
 {
-       struct nvkm_bios *bios = data;
-       if (nv_device(bios)->card_type < NV_50)
-               nv_mask(bios, 0x001850, 0x00000001, 0x00000001);
+       struct nvkm_device *device = data;
+       if (device->card_type < NV_50)
+               nvkm_mask(device, 0x001850, 0x00000001, 0x00000001);
        else
-               nv_mask(bios, 0x088050, 0x00000001, 0x00000001);
+               nvkm_mask(device, 0x088050, 0x00000001, 0x00000001);
 }
 
 static void *
 prom_init(struct nvkm_bios *bios, const char *name)
 {
-       if (nv_device(bios)->card_type < NV_50) {
-               if (nv_device(bios)->card_type == NV_40 &&
-                   nv_device(bios)->chipset >= 0x4c)
+       struct nvkm_device *device = bios->subdev.device;
+       if (device->card_type < NV_50) {
+               if (device->card_type == NV_40 && device->chipset >= 0x4c)
                        return ERR_PTR(-ENODEV);
-               nv_mask(bios, 0x001850, 0x00000001, 0x00000000);
+               nvkm_mask(device, 0x001850, 0x00000001, 0x00000000);
        } else {
-               nv_mask(bios, 0x088050, 0x00000001, 0x00000000);
+               nvkm_mask(device, 0x088050, 0x00000001, 0x00000000);
        }
-       return bios;
+       return device;
 }
 
 const struct nvbios_source