aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_bios.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_bios.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_bios.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index f86985363ac..4f0d9bd1914 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -27,7 +27,6 @@
27#include "nouveau_drv.h" 27#include "nouveau_drv.h"
28#include "nouveau_hw.h" 28#include "nouveau_hw.h"
29#include "nouveau_encoder.h" 29#include "nouveau_encoder.h"
30#include <subdev/gpio.h>
31 30
32#include <linux/io-mapping.h> 31#include <linux/io-mapping.h>
33#include <linux/firmware.h> 32#include <linux/firmware.h>
@@ -5384,7 +5383,7 @@ static uint16_t findstr(uint8_t *data, int n, const uint8_t *str, int len)
5384} 5383}
5385 5384
5386void * 5385void *
5387dcb_table(struct drm_device *dev) 5386olddcb_table(struct drm_device *dev)
5388{ 5387{
5389 struct drm_nouveau_private *dev_priv = dev->dev_private; 5388 struct drm_nouveau_private *dev_priv = dev->dev_private;
5390 u8 *dcb = NULL; 5389 u8 *dcb = NULL;
@@ -5438,9 +5437,9 @@ dcb_table(struct drm_device *dev)
5438} 5437}
5439 5438
5440void * 5439void *
5441dcb_outp(struct drm_device *dev, u8 idx) 5440olddcb_outp(struct drm_device *dev, u8 idx)
5442{ 5441{
5443 u8 *dcb = dcb_table(dev); 5442 u8 *dcb = olddcb_table(dev);
5444 if (dcb && dcb[0] >= 0x30) { 5443 if (dcb && dcb[0] >= 0x30) {
5445 if (idx < dcb[2]) 5444 if (idx < dcb[2])
5446 return dcb + dcb[1] + (idx * dcb[3]); 5445 return dcb + dcb[1] + (idx * dcb[3]);
@@ -5462,12 +5461,12 @@ dcb_outp(struct drm_device *dev, u8 idx)
5462} 5461}
5463 5462
5464int 5463int
5465dcb_outp_foreach(struct drm_device *dev, void *data, 5464olddcb_outp_foreach(struct drm_device *dev, void *data,
5466 int (*exec)(struct drm_device *, void *, int idx, u8 *outp)) 5465 int (*exec)(struct drm_device *, void *, int idx, u8 *outp))
5467{ 5466{
5468 int ret, idx = -1; 5467 int ret, idx = -1;
5469 u8 *outp = NULL; 5468 u8 *outp = NULL;
5470 while ((outp = dcb_outp(dev, ++idx))) { 5469 while ((outp = olddcb_outp(dev, ++idx))) {
5471 if (ROM32(outp[0]) == 0x00000000) 5470 if (ROM32(outp[0]) == 0x00000000)
5472 break; /* seen on an NV11 with DCB v1.5 */ 5471 break; /* seen on an NV11 with DCB v1.5 */
5473 if (ROM32(outp[0]) == 0xffffffff) 5472 if (ROM32(outp[0]) == 0xffffffff)
@@ -5489,7 +5488,7 @@ dcb_outp_foreach(struct drm_device *dev, void *data,
5489u8 * 5488u8 *
5490dcb_conntab(struct drm_device *dev) 5489dcb_conntab(struct drm_device *dev)
5491{ 5490{
5492 u8 *dcb = dcb_table(dev); 5491 u8 *dcb = olddcb_table(dev);
5493 if (dcb && dcb[0] >= 0x30 && dcb[1] >= 0x16) { 5492 if (dcb && dcb[0] >= 0x30 && dcb[1] >= 0x16) {
5494 u8 *conntab = ROMPTR(dev, dcb[0x14]); 5493 u8 *conntab = ROMPTR(dev, dcb[0x14]);
5495 if (conntab && conntab[0] >= 0x30 && conntab[0] <= 0x40) 5494 if (conntab && conntab[0] >= 0x30 && conntab[0] <= 0x40)
@@ -5982,7 +5981,7 @@ parse_dcb_table(struct drm_device *dev, struct nvbios *bios)
5982 u8 *dcbt, *conn; 5981 u8 *dcbt, *conn;
5983 int idx; 5982 int idx;
5984 5983
5985 dcbt = dcb_table(dev); 5984 dcbt = olddcb_table(dev);
5986 if (!dcbt) { 5985 if (!dcbt) {
5987 /* handle pre-DCB boards */ 5986 /* handle pre-DCB boards */
5988 if (bios->type == NVBIOS_BMP) { 5987 if (bios->type == NVBIOS_BMP) {
@@ -5996,7 +5995,7 @@ parse_dcb_table(struct drm_device *dev, struct nvbios *bios)
5996 NV_TRACE(dev, "DCB version %d.%d\n", dcbt[0] >> 4, dcbt[0] & 0xf); 5995 NV_TRACE(dev, "DCB version %d.%d\n", dcbt[0] >> 4, dcbt[0] & 0xf);
5997 5996
5998 dcb->version = dcbt[0]; 5997 dcb->version = dcbt[0];
5999 dcb_outp_foreach(dev, NULL, parse_dcb_entry); 5998 olddcb_outp_foreach(dev, NULL, parse_dcb_entry);
6000 5999
6001 /* 6000 /*
6002 * apart for v2.1+ not being known for requiring merging, this 6001 * apart for v2.1+ not being known for requiring merging, this