diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-02-23 19:03:05 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-02-25 00:09:21 -0500 |
commit | 04a39c577f4114a3f098ee8ef0e20f7778b5ddad (patch) | |
tree | 681d13d2a73c86a293a0ad6fa9d5e6ef4a5fd42e /drivers/gpu/drm | |
parent | 7f245b20e30515264b94f6373ef7d721155990a4 (diff) |
drm/nouveau: merge nvbios and nouveau_bios_info
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bios.c | 82 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_bios.h | 9 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_calc.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_connector.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_debugfs.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_drv.h | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_hw.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_i2c.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_dac.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_dfp.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_display.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_tv.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv17_tv.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_dac.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_display.c | 12 |
15 files changed, 73 insertions, 81 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c index e3baa84df62c..ea71ce4267e1 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c | |||
@@ -311,11 +311,11 @@ valid_reg(struct nvbios *bios, uint32_t reg) | |||
311 | 311 | ||
312 | /* C51 has misaligned regs on purpose. Marvellous */ | 312 | /* C51 has misaligned regs on purpose. Marvellous */ |
313 | if (reg & 0x2 || | 313 | if (reg & 0x2 || |
314 | (reg & 0x1 && dev_priv->VBIOS.pub.chip_version != 0x51)) | 314 | (reg & 0x1 && dev_priv->vbios.chip_version != 0x51)) |
315 | NV_ERROR(dev, "======= misaligned reg 0x%08X =======\n", reg); | 315 | NV_ERROR(dev, "======= misaligned reg 0x%08X =======\n", reg); |
316 | 316 | ||
317 | /* warn on C51 regs that haven't been verified accessible in tracing */ | 317 | /* warn on C51 regs that haven't been verified accessible in tracing */ |
318 | if (reg & 0x1 && dev_priv->VBIOS.pub.chip_version == 0x51 && | 318 | if (reg & 0x1 && dev_priv->vbios.chip_version == 0x51 && |
319 | reg != 0x130d && reg != 0x1311 && reg != 0x60081d) | 319 | reg != 0x130d && reg != 0x1311 && reg != 0x60081d) |
320 | NV_WARN(dev, "=== C51 misaligned reg 0x%08X not verified ===\n", | 320 | NV_WARN(dev, "=== C51 misaligned reg 0x%08X not verified ===\n", |
321 | reg); | 321 | reg); |
@@ -420,7 +420,7 @@ bios_wr32(struct nvbios *bios, uint32_t reg, uint32_t data) | |||
420 | LOG_OLD_VALUE(bios_rd32(bios, reg)); | 420 | LOG_OLD_VALUE(bios_rd32(bios, reg)); |
421 | BIOSLOG(bios, " Write: Reg: 0x%08X, Data: 0x%08X\n", reg, data); | 421 | BIOSLOG(bios, " Write: Reg: 0x%08X, Data: 0x%08X\n", reg, data); |
422 | 422 | ||
423 | if (dev_priv->VBIOS.execute) { | 423 | if (dev_priv->vbios.execute) { |
424 | still_alive(); | 424 | still_alive(); |
425 | nv_wr32(bios->dev, reg, data); | 425 | nv_wr32(bios->dev, reg, data); |
426 | } | 426 | } |
@@ -647,7 +647,7 @@ nv50_pll_set(struct drm_device *dev, uint32_t reg, uint32_t clk) | |||
647 | reg0 = (reg0 & 0xfff8ffff) | (pll.log2P << 16); | 647 | reg0 = (reg0 & 0xfff8ffff) | (pll.log2P << 16); |
648 | reg1 = (reg1 & 0xffff0000) | (pll.N1 << 8) | pll.M1; | 648 | reg1 = (reg1 & 0xffff0000) | (pll.N1 << 8) | pll.M1; |
649 | 649 | ||
650 | if (dev_priv->VBIOS.execute) { | 650 | if (dev_priv->vbios.execute) { |
651 | still_alive(); | 651 | still_alive(); |
652 | nv_wr32(dev, reg + 4, reg1); | 652 | nv_wr32(dev, reg + 4, reg1); |
653 | nv_wr32(dev, reg + 0, reg0); | 653 | nv_wr32(dev, reg + 0, reg0); |
@@ -689,7 +689,7 @@ setPLL(struct nvbios *bios, uint32_t reg, uint32_t clk) | |||
689 | static int dcb_entry_idx_from_crtchead(struct drm_device *dev) | 689 | static int dcb_entry_idx_from_crtchead(struct drm_device *dev) |
690 | { | 690 | { |
691 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 691 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
692 | struct nvbios *bios = &dev_priv->VBIOS; | 692 | struct nvbios *bios = &dev_priv->vbios; |
693 | 693 | ||
694 | /* | 694 | /* |
695 | * For the results of this function to be correct, CR44 must have been | 695 | * For the results of this function to be correct, CR44 must have been |
@@ -713,7 +713,7 @@ static struct nouveau_i2c_chan * | |||
713 | init_i2c_device_find(struct drm_device *dev, int i2c_index) | 713 | init_i2c_device_find(struct drm_device *dev, int i2c_index) |
714 | { | 714 | { |
715 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 715 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
716 | struct dcb_table *dcb = &dev_priv->VBIOS.dcb; | 716 | struct dcb_table *dcb = &dev_priv->vbios.dcb; |
717 | 717 | ||
718 | if (i2c_index == 0xff) { | 718 | if (i2c_index == 0xff) { |
719 | /* note: dcb_entry_idx_from_crtchead needs pre-script set-up */ | 719 | /* note: dcb_entry_idx_from_crtchead needs pre-script set-up */ |
@@ -745,7 +745,7 @@ get_tmds_index_reg(struct drm_device *dev, uint8_t mlv) | |||
745 | */ | 745 | */ |
746 | 746 | ||
747 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 747 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
748 | struct nvbios *bios = &dev_priv->VBIOS; | 748 | struct nvbios *bios = &dev_priv->vbios; |
749 | const int pramdac_offset[13] = { | 749 | const int pramdac_offset[13] = { |
750 | 0, 0, 0x8, 0, 0x2000, 0, 0, 0, 0x2008, 0, 0, 0, 0x2000 }; | 750 | 0, 0, 0x8, 0, 0x2000, 0, 0, 0, 0x2008, 0, 0, 0, 0x2000 }; |
751 | const uint32_t pramdac_table[4] = { | 751 | const uint32_t pramdac_table[4] = { |
@@ -3124,7 +3124,7 @@ run_digital_op_script(struct drm_device *dev, uint16_t scriptptr, | |||
3124 | struct dcb_entry *dcbent, int head, bool dl) | 3124 | struct dcb_entry *dcbent, int head, bool dl) |
3125 | { | 3125 | { |
3126 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3126 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3127 | struct nvbios *bios = &dev_priv->VBIOS; | 3127 | struct nvbios *bios = &dev_priv->vbios; |
3128 | struct init_exec iexec = {true, false}; | 3128 | struct init_exec iexec = {true, false}; |
3129 | 3129 | ||
3130 | NV_TRACE(dev, "0x%04X: Parsing digital output script table\n", | 3130 | NV_TRACE(dev, "0x%04X: Parsing digital output script table\n", |
@@ -3141,7 +3141,7 @@ run_digital_op_script(struct drm_device *dev, uint16_t scriptptr, | |||
3141 | static int call_lvds_manufacturer_script(struct drm_device *dev, struct dcb_entry *dcbent, int head, enum LVDS_script script) | 3141 | static int call_lvds_manufacturer_script(struct drm_device *dev, struct dcb_entry *dcbent, int head, enum LVDS_script script) |
3142 | { | 3142 | { |
3143 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3143 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3144 | struct nvbios *bios = &dev_priv->VBIOS; | 3144 | struct nvbios *bios = &dev_priv->vbios; |
3145 | uint8_t sub = bios->data[bios->fp.xlated_entry + script] + (bios->fp.link_c_increment && dcbent->or & OUTPUT_C ? 1 : 0); | 3145 | uint8_t sub = bios->data[bios->fp.xlated_entry + script] + (bios->fp.link_c_increment && dcbent->or & OUTPUT_C ? 1 : 0); |
3146 | uint16_t scriptofs = ROM16(bios->data[bios->init_script_tbls_ptr + sub * 2]); | 3146 | uint16_t scriptofs = ROM16(bios->data[bios->init_script_tbls_ptr + sub * 2]); |
3147 | 3147 | ||
@@ -3195,7 +3195,7 @@ static int run_lvds_table(struct drm_device *dev, struct dcb_entry *dcbent, int | |||
3195 | * of a list of pxclks and script pointers. | 3195 | * of a list of pxclks and script pointers. |
3196 | */ | 3196 | */ |
3197 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3197 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3198 | struct nvbios *bios = &dev_priv->VBIOS; | 3198 | struct nvbios *bios = &dev_priv->vbios; |
3199 | unsigned int outputset = (dcbent->or == 4) ? 1 : 0; | 3199 | unsigned int outputset = (dcbent->or == 4) ? 1 : 0; |
3200 | uint16_t scriptptr = 0, clktable; | 3200 | uint16_t scriptptr = 0, clktable; |
3201 | uint8_t clktableptr = 0; | 3201 | uint8_t clktableptr = 0; |
@@ -3262,7 +3262,7 @@ int call_lvds_script(struct drm_device *dev, struct dcb_entry *dcbent, int head, | |||
3262 | */ | 3262 | */ |
3263 | 3263 | ||
3264 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3264 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3265 | struct nvbios *bios = &dev_priv->VBIOS; | 3265 | struct nvbios *bios = &dev_priv->vbios; |
3266 | uint8_t lvds_ver = bios->data[bios->fp.lvdsmanufacturerpointer]; | 3266 | uint8_t lvds_ver = bios->data[bios->fp.lvdsmanufacturerpointer]; |
3267 | uint32_t sel_clk_binding, sel_clk; | 3267 | uint32_t sel_clk_binding, sel_clk; |
3268 | int ret; | 3268 | int ret; |
@@ -3396,7 +3396,7 @@ static int parse_fp_mode_table(struct drm_device *dev, struct nvbios *bios) | |||
3396 | #ifndef __powerpc__ | 3396 | #ifndef __powerpc__ |
3397 | NV_ERROR(dev, "Pointer to flat panel table invalid\n"); | 3397 | NV_ERROR(dev, "Pointer to flat panel table invalid\n"); |
3398 | #endif | 3398 | #endif |
3399 | bios->pub.digital_min_front_porch = 0x4b; | 3399 | bios->digital_min_front_porch = 0x4b; |
3400 | return 0; | 3400 | return 0; |
3401 | } | 3401 | } |
3402 | 3402 | ||
@@ -3429,7 +3429,7 @@ static int parse_fp_mode_table(struct drm_device *dev, struct nvbios *bios) | |||
3429 | * fptable[4] is the minimum | 3429 | * fptable[4] is the minimum |
3430 | * RAMDAC_FP_HCRTC -> RAMDAC_FP_HSYNC_START gap | 3430 | * RAMDAC_FP_HCRTC -> RAMDAC_FP_HSYNC_START gap |
3431 | */ | 3431 | */ |
3432 | bios->pub.digital_min_front_porch = fptable[4]; | 3432 | bios->digital_min_front_porch = fptable[4]; |
3433 | ofs = -7; | 3433 | ofs = -7; |
3434 | break; | 3434 | break; |
3435 | default: | 3435 | default: |
@@ -3468,7 +3468,7 @@ static int parse_fp_mode_table(struct drm_device *dev, struct nvbios *bios) | |||
3468 | 3468 | ||
3469 | /* nv4x cards need both a strap value and fpindex of 0xf to use DDC */ | 3469 | /* nv4x cards need both a strap value and fpindex of 0xf to use DDC */ |
3470 | if (lth.lvds_ver > 0x10) | 3470 | if (lth.lvds_ver > 0x10) |
3471 | bios->pub.fp_no_ddc = fpstrapping != 0xf || fpindex != 0xf; | 3471 | bios->fp_no_ddc = fpstrapping != 0xf || fpindex != 0xf; |
3472 | 3472 | ||
3473 | /* | 3473 | /* |
3474 | * If either the strap or xlated fpindex value are 0xf there is no | 3474 | * If either the strap or xlated fpindex value are 0xf there is no |
@@ -3492,7 +3492,7 @@ static int parse_fp_mode_table(struct drm_device *dev, struct nvbios *bios) | |||
3492 | bool nouveau_bios_fp_mode(struct drm_device *dev, struct drm_display_mode *mode) | 3492 | bool nouveau_bios_fp_mode(struct drm_device *dev, struct drm_display_mode *mode) |
3493 | { | 3493 | { |
3494 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3494 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3495 | struct nvbios *bios = &dev_priv->VBIOS; | 3495 | struct nvbios *bios = &dev_priv->vbios; |
3496 | uint8_t *mode_entry = &bios->data[bios->fp.mode_ptr]; | 3496 | uint8_t *mode_entry = &bios->data[bios->fp.mode_ptr]; |
3497 | 3497 | ||
3498 | if (!mode) /* just checking whether we can produce a mode */ | 3498 | if (!mode) /* just checking whether we can produce a mode */ |
@@ -3563,11 +3563,11 @@ int nouveau_bios_parse_lvds_table(struct drm_device *dev, int pxclk, bool *dl, b | |||
3563 | * until later, when this function should be called with non-zero pxclk | 3563 | * until later, when this function should be called with non-zero pxclk |
3564 | */ | 3564 | */ |
3565 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3565 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3566 | struct nvbios *bios = &dev_priv->VBIOS; | 3566 | struct nvbios *bios = &dev_priv->vbios; |
3567 | int fpstrapping = get_fp_strap(dev, bios), lvdsmanufacturerindex = 0; | 3567 | int fpstrapping = get_fp_strap(dev, bios), lvdsmanufacturerindex = 0; |
3568 | struct lvdstableheader lth; | 3568 | struct lvdstableheader lth; |
3569 | uint16_t lvdsofs; | 3569 | uint16_t lvdsofs; |
3570 | int ret, chip_version = bios->pub.chip_version; | 3570 | int ret, chip_version = bios->chip_version; |
3571 | 3571 | ||
3572 | ret = parse_lvds_manufacturer_table_header(dev, bios, <h); | 3572 | ret = parse_lvds_manufacturer_table_header(dev, bios, <h); |
3573 | if (ret) | 3573 | if (ret) |
@@ -3683,7 +3683,7 @@ bios_output_config_match(struct drm_device *dev, struct dcb_entry *dcbent, | |||
3683 | uint16_t record, int record_len, int record_nr) | 3683 | uint16_t record, int record_len, int record_nr) |
3684 | { | 3684 | { |
3685 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3685 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3686 | struct nvbios *bios = &dev_priv->VBIOS; | 3686 | struct nvbios *bios = &dev_priv->vbios; |
3687 | uint32_t entry; | 3687 | uint32_t entry; |
3688 | uint16_t table; | 3688 | uint16_t table; |
3689 | int i, v; | 3689 | int i, v; |
@@ -3717,7 +3717,7 @@ nouveau_bios_dp_table(struct drm_device *dev, struct dcb_entry *dcbent, | |||
3717 | int *length) | 3717 | int *length) |
3718 | { | 3718 | { |
3719 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3719 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3720 | struct nvbios *bios = &dev_priv->VBIOS; | 3720 | struct nvbios *bios = &dev_priv->vbios; |
3721 | uint8_t *table; | 3721 | uint8_t *table; |
3722 | 3722 | ||
3723 | if (!bios->display.dp_table_ptr) { | 3723 | if (!bios->display.dp_table_ptr) { |
@@ -3766,7 +3766,7 @@ nouveau_bios_run_display_table(struct drm_device *dev, struct dcb_entry *dcbent, | |||
3766 | */ | 3766 | */ |
3767 | 3767 | ||
3768 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3768 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3769 | struct nvbios *bios = &dev_priv->VBIOS; | 3769 | struct nvbios *bios = &dev_priv->vbios; |
3770 | uint8_t *table = &bios->data[bios->display.script_table_ptr]; | 3770 | uint8_t *table = &bios->data[bios->display.script_table_ptr]; |
3771 | uint8_t *otable = NULL; | 3771 | uint8_t *otable = NULL; |
3772 | uint16_t script; | 3772 | uint16_t script; |
@@ -3919,8 +3919,8 @@ int run_tmds_table(struct drm_device *dev, struct dcb_entry *dcbent, int head, i | |||
3919 | */ | 3919 | */ |
3920 | 3920 | ||
3921 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3921 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3922 | struct nvbios *bios = &dev_priv->VBIOS; | 3922 | struct nvbios *bios = &dev_priv->vbios; |
3923 | int cv = bios->pub.chip_version; | 3923 | int cv = bios->chip_version; |
3924 | uint16_t clktable = 0, scriptptr; | 3924 | uint16_t clktable = 0, scriptptr; |
3925 | uint32_t sel_clk_binding, sel_clk; | 3925 | uint32_t sel_clk_binding, sel_clk; |
3926 | 3926 | ||
@@ -3979,8 +3979,8 @@ int get_pll_limits(struct drm_device *dev, uint32_t limit_match, struct pll_lims | |||
3979 | */ | 3979 | */ |
3980 | 3980 | ||
3981 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 3981 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
3982 | struct nvbios *bios = &dev_priv->VBIOS; | 3982 | struct nvbios *bios = &dev_priv->vbios; |
3983 | int cv = bios->pub.chip_version, pllindex = 0; | 3983 | int cv = bios->chip_version, pllindex = 0; |
3984 | uint8_t pll_lim_ver = 0, headerlen = 0, recordlen = 0, entries = 0; | 3984 | uint8_t pll_lim_ver = 0, headerlen = 0, recordlen = 0, entries = 0; |
3985 | uint32_t crystal_strap_mask, crystal_straps; | 3985 | uint32_t crystal_strap_mask, crystal_straps; |
3986 | 3986 | ||
@@ -4333,7 +4333,7 @@ static void parse_bios_version(struct drm_device *dev, struct nvbios *bios, uint | |||
4333 | */ | 4333 | */ |
4334 | 4334 | ||
4335 | bios->major_version = bios->data[offset + 3]; | 4335 | bios->major_version = bios->data[offset + 3]; |
4336 | bios->pub.chip_version = bios->data[offset + 2]; | 4336 | bios->chip_version = bios->data[offset + 2]; |
4337 | NV_TRACE(dev, "Bios version %02x.%02x.%02x.%02x\n", | 4337 | NV_TRACE(dev, "Bios version %02x.%02x.%02x.%02x\n", |
4338 | bios->data[offset + 3], bios->data[offset + 2], | 4338 | bios->data[offset + 3], bios->data[offset + 2], |
4339 | bios->data[offset + 1], bios->data[offset]); | 4339 | bios->data[offset + 1], bios->data[offset]); |
@@ -4403,7 +4403,7 @@ static int parse_bit_A_tbl_entry(struct drm_device *dev, struct nvbios *bios, st | |||
4403 | } | 4403 | } |
4404 | 4404 | ||
4405 | /* First entry is normal dac, 2nd tv-out perhaps? */ | 4405 | /* First entry is normal dac, 2nd tv-out perhaps? */ |
4406 | bios->pub.dactestval = ROM32(bios->data[load_table_ptr + headerlen]) & 0x3ff; | 4406 | bios->dactestval = ROM32(bios->data[load_table_ptr + headerlen]) & 0x3ff; |
4407 | 4407 | ||
4408 | return 0; | 4408 | return 0; |
4409 | } | 4409 | } |
@@ -4527,8 +4527,8 @@ static int parse_bit_i_tbl_entry(struct drm_device *dev, struct nvbios *bios, st | |||
4527 | return -ENOSYS; | 4527 | return -ENOSYS; |
4528 | } | 4528 | } |
4529 | 4529 | ||
4530 | bios->pub.dactestval = ROM32(bios->data[daccmpoffset + dacheaderlen]); | 4530 | bios->dactestval = ROM32(bios->data[daccmpoffset + dacheaderlen]); |
4531 | bios->pub.tvdactestval = ROM32(bios->data[daccmpoffset + dacheaderlen + 4]); | 4531 | bios->tvdactestval = ROM32(bios->data[daccmpoffset + dacheaderlen + 4]); |
4532 | 4532 | ||
4533 | return 0; | 4533 | return 0; |
4534 | } | 4534 | } |
@@ -4801,7 +4801,7 @@ static int parse_bmp_structure(struct drm_device *dev, struct nvbios *bios, unsi | |||
4801 | bios->dcb.i2c[0].read = NV_CIO_CRE_DDC_STATUS__INDEX; | 4801 | bios->dcb.i2c[0].read = NV_CIO_CRE_DDC_STATUS__INDEX; |
4802 | bios->dcb.i2c[1].write = NV_CIO_CRE_DDC0_WR__INDEX; | 4802 | bios->dcb.i2c[1].write = NV_CIO_CRE_DDC0_WR__INDEX; |
4803 | bios->dcb.i2c[1].read = NV_CIO_CRE_DDC0_STATUS__INDEX; | 4803 | bios->dcb.i2c[1].read = NV_CIO_CRE_DDC0_STATUS__INDEX; |
4804 | bios->pub.digital_min_front_porch = 0x4b; | 4804 | bios->digital_min_front_porch = 0x4b; |
4805 | bios->fmaxvco = 256000; | 4805 | bios->fmaxvco = 256000; |
4806 | bios->fminvco = 128000; | 4806 | bios->fminvco = 128000; |
4807 | bios->fp.duallink_transition_clk = 90000; | 4807 | bios->fp.duallink_transition_clk = 90000; |
@@ -5047,7 +5047,7 @@ struct dcb_gpio_entry * | |||
5047 | nouveau_bios_gpio_entry(struct drm_device *dev, enum dcb_gpio_tag tag) | 5047 | nouveau_bios_gpio_entry(struct drm_device *dev, enum dcb_gpio_tag tag) |
5048 | { | 5048 | { |
5049 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5049 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5050 | struct nvbios *bios = &dev_priv->VBIOS; | 5050 | struct nvbios *bios = &dev_priv->vbios; |
5051 | int i; | 5051 | int i; |
5052 | 5052 | ||
5053 | for (i = 0; i < bios->dcb.gpio.entries; i++) { | 5053 | for (i = 0; i < bios->dcb.gpio.entries; i++) { |
@@ -5160,7 +5160,7 @@ struct dcb_connector_table_entry * | |||
5160 | nouveau_bios_connector_entry(struct drm_device *dev, int index) | 5160 | nouveau_bios_connector_entry(struct drm_device *dev, int index) |
5161 | { | 5161 | { |
5162 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5162 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5163 | struct nvbios *bios = &dev_priv->VBIOS; | 5163 | struct nvbios *bios = &dev_priv->vbios; |
5164 | struct dcb_connector_table_entry *cte; | 5164 | struct dcb_connector_table_entry *cte; |
5165 | 5165 | ||
5166 | if (index >= bios->dcb.connector.entries) | 5166 | if (index >= bios->dcb.connector.entries) |
@@ -5823,7 +5823,7 @@ static int load_nv17_hw_sequencer_ucode(struct drm_device *dev, | |||
5823 | uint8_t *nouveau_bios_embedded_edid(struct drm_device *dev) | 5823 | uint8_t *nouveau_bios_embedded_edid(struct drm_device *dev) |
5824 | { | 5824 | { |
5825 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5825 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5826 | struct nvbios *bios = &dev_priv->VBIOS; | 5826 | struct nvbios *bios = &dev_priv->vbios; |
5827 | const uint8_t edid_sig[] = { | 5827 | const uint8_t edid_sig[] = { |
5828 | 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 }; | 5828 | 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 }; |
5829 | uint16_t offset = 0; | 5829 | uint16_t offset = 0; |
@@ -5856,7 +5856,7 @@ nouveau_bios_run_init_table(struct drm_device *dev, uint16_t table, | |||
5856 | struct dcb_entry *dcbent) | 5856 | struct dcb_entry *dcbent) |
5857 | { | 5857 | { |
5858 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5858 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5859 | struct nvbios *bios = &dev_priv->VBIOS; | 5859 | struct nvbios *bios = &dev_priv->vbios; |
5860 | struct init_exec iexec = { true, false }; | 5860 | struct init_exec iexec = { true, false }; |
5861 | 5861 | ||
5862 | mutex_lock(&bios->lock); | 5862 | mutex_lock(&bios->lock); |
@@ -5869,7 +5869,7 @@ nouveau_bios_run_init_table(struct drm_device *dev, uint16_t table, | |||
5869 | static bool NVInitVBIOS(struct drm_device *dev) | 5869 | static bool NVInitVBIOS(struct drm_device *dev) |
5870 | { | 5870 | { |
5871 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5871 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5872 | struct nvbios *bios = &dev_priv->VBIOS; | 5872 | struct nvbios *bios = &dev_priv->vbios; |
5873 | 5873 | ||
5874 | memset(bios, 0, sizeof(struct nvbios)); | 5874 | memset(bios, 0, sizeof(struct nvbios)); |
5875 | mutex_init(&bios->lock); | 5875 | mutex_init(&bios->lock); |
@@ -5885,7 +5885,7 @@ static bool NVInitVBIOS(struct drm_device *dev) | |||
5885 | static int nouveau_parse_vbios_struct(struct drm_device *dev) | 5885 | static int nouveau_parse_vbios_struct(struct drm_device *dev) |
5886 | { | 5886 | { |
5887 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5887 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5888 | struct nvbios *bios = &dev_priv->VBIOS; | 5888 | struct nvbios *bios = &dev_priv->vbios; |
5889 | const uint8_t bit_signature[] = { 0xff, 0xb8, 'B', 'I', 'T' }; | 5889 | const uint8_t bit_signature[] = { 0xff, 0xb8, 'B', 'I', 'T' }; |
5890 | const uint8_t bmp_signature[] = { 0xff, 0x7f, 'N', 'V', 0x0 }; | 5890 | const uint8_t bmp_signature[] = { 0xff, 0x7f, 'N', 'V', 0x0 }; |
5891 | int offset; | 5891 | int offset; |
@@ -5912,7 +5912,7 @@ int | |||
5912 | nouveau_run_vbios_init(struct drm_device *dev) | 5912 | nouveau_run_vbios_init(struct drm_device *dev) |
5913 | { | 5913 | { |
5914 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5914 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5915 | struct nvbios *bios = &dev_priv->VBIOS; | 5915 | struct nvbios *bios = &dev_priv->vbios; |
5916 | int i, ret = 0; | 5916 | int i, ret = 0; |
5917 | 5917 | ||
5918 | NVLockVgaCrtcs(dev, false); | 5918 | NVLockVgaCrtcs(dev, false); |
@@ -5959,7 +5959,7 @@ static void | |||
5959 | nouveau_bios_i2c_devices_takedown(struct drm_device *dev) | 5959 | nouveau_bios_i2c_devices_takedown(struct drm_device *dev) |
5960 | { | 5960 | { |
5961 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5961 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5962 | struct nvbios *bios = &dev_priv->VBIOS; | 5962 | struct nvbios *bios = &dev_priv->vbios; |
5963 | struct dcb_i2c_entry *entry; | 5963 | struct dcb_i2c_entry *entry; |
5964 | int i; | 5964 | int i; |
5965 | 5965 | ||
@@ -5972,13 +5972,11 @@ int | |||
5972 | nouveau_bios_init(struct drm_device *dev) | 5972 | nouveau_bios_init(struct drm_device *dev) |
5973 | { | 5973 | { |
5974 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 5974 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
5975 | struct nvbios *bios = &dev_priv->VBIOS; | 5975 | struct nvbios *bios = &dev_priv->vbios; |
5976 | uint32_t saved_nv_pextdev_boot_0; | 5976 | uint32_t saved_nv_pextdev_boot_0; |
5977 | bool was_locked; | 5977 | bool was_locked; |
5978 | int ret; | 5978 | int ret; |
5979 | 5979 | ||
5980 | dev_priv->vbios = &bios->pub; | ||
5981 | |||
5982 | if (!NVInitVBIOS(dev)) | 5980 | if (!NVInitVBIOS(dev)) |
5983 | return -ENODEV; | 5981 | return -ENODEV; |
5984 | 5982 | ||
@@ -6020,10 +6018,8 @@ nouveau_bios_init(struct drm_device *dev) | |||
6020 | bios_wr32(bios, NV_PEXTDEV_BOOT_0, saved_nv_pextdev_boot_0); | 6018 | bios_wr32(bios, NV_PEXTDEV_BOOT_0, saved_nv_pextdev_boot_0); |
6021 | 6019 | ||
6022 | ret = nouveau_run_vbios_init(dev); | 6020 | ret = nouveau_run_vbios_init(dev); |
6023 | if (ret) { | 6021 | if (ret) |
6024 | dev_priv->vbios = NULL; | ||
6025 | return ret; | 6022 | return ret; |
6026 | } | ||
6027 | 6023 | ||
6028 | /* feature_byte on BMP is poor, but init always sets CR4B */ | 6024 | /* feature_byte on BMP is poor, but init always sets CR4B */ |
6029 | was_locked = NVLockVgaCrtcs(dev, false); | 6025 | was_locked = NVLockVgaCrtcs(dev, false); |
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.h b/drivers/gpu/drm/nouveau/nouveau_bios.h index 449a5f3d47d0..38c856fae141 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.h +++ b/drivers/gpu/drm/nouveau/nouveau_bios.h | |||
@@ -186,18 +186,15 @@ struct pll_lims { | |||
186 | int refclk; | 186 | int refclk; |
187 | }; | 187 | }; |
188 | 188 | ||
189 | struct nouveau_bios_info { | 189 | struct nvbios { |
190 | struct drm_device *dev; | ||
191 | |||
190 | uint8_t chip_version; | 192 | uint8_t chip_version; |
191 | 193 | ||
192 | uint32_t dactestval; | 194 | uint32_t dactestval; |
193 | uint32_t tvdactestval; | 195 | uint32_t tvdactestval; |
194 | uint8_t digital_min_front_porch; | 196 | uint8_t digital_min_front_porch; |
195 | bool fp_no_ddc; | 197 | bool fp_no_ddc; |
196 | }; | ||
197 | |||
198 | struct nvbios { | ||
199 | struct drm_device *dev; | ||
200 | struct nouveau_bios_info pub; | ||
201 | 198 | ||
202 | struct mutex lock; | 199 | struct mutex lock; |
203 | 200 | ||
diff --git a/drivers/gpu/drm/nouveau/nouveau_calc.c b/drivers/gpu/drm/nouveau/nouveau_calc.c index ee2b84504d05..88f9bc0941eb 100644 --- a/drivers/gpu/drm/nouveau/nouveau_calc.c +++ b/drivers/gpu/drm/nouveau/nouveau_calc.c | |||
@@ -274,7 +274,7 @@ getMNP_single(struct drm_device *dev, struct pll_lims *pll_lim, int clk, | |||
274 | * returns calculated clock | 274 | * returns calculated clock |
275 | */ | 275 | */ |
276 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 276 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
277 | int cv = dev_priv->vbios->chip_version; | 277 | int cv = dev_priv->vbios.chip_version; |
278 | int minvco = pll_lim->vco1.minfreq, maxvco = pll_lim->vco1.maxfreq; | 278 | int minvco = pll_lim->vco1.minfreq, maxvco = pll_lim->vco1.maxfreq; |
279 | int minM = pll_lim->vco1.min_m, maxM = pll_lim->vco1.max_m; | 279 | int minM = pll_lim->vco1.min_m, maxM = pll_lim->vco1.max_m; |
280 | int minN = pll_lim->vco1.min_n, maxN = pll_lim->vco1.max_n; | 280 | int minN = pll_lim->vco1.min_n, maxN = pll_lim->vco1.max_n; |
@@ -373,7 +373,7 @@ getMNP_double(struct drm_device *dev, struct pll_lims *pll_lim, int clk, | |||
373 | * returns calculated clock | 373 | * returns calculated clock |
374 | */ | 374 | */ |
375 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 375 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
376 | int chip_version = dev_priv->vbios->chip_version; | 376 | int chip_version = dev_priv->vbios.chip_version; |
377 | int minvco1 = pll_lim->vco1.minfreq, maxvco1 = pll_lim->vco1.maxfreq; | 377 | int minvco1 = pll_lim->vco1.minfreq, maxvco1 = pll_lim->vco1.maxfreq; |
378 | int minvco2 = pll_lim->vco2.minfreq, maxvco2 = pll_lim->vco2.maxfreq; | 378 | int minvco2 = pll_lim->vco2.minfreq, maxvco2 = pll_lim->vco2.maxfreq; |
379 | int minU1 = pll_lim->vco1.min_inputfreq, minU2 = pll_lim->vco2.min_inputfreq; | 379 | int minU1 = pll_lim->vco1.min_inputfreq, minU2 = pll_lim->vco2.min_inputfreq; |
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index d2f63353ea97..e73ce240c4b5 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c | |||
@@ -680,7 +680,7 @@ nouveau_connector_create_lvds(struct drm_device *dev, | |||
680 | /* Firstly try getting EDID over DDC, if allowed and I2C channel | 680 | /* Firstly try getting EDID over DDC, if allowed and I2C channel |
681 | * is available. | 681 | * is available. |
682 | */ | 682 | */ |
683 | if (!dev_priv->VBIOS.pub.fp_no_ddc && nv_encoder->dcb->i2c_index < 0xf) | 683 | if (!dev_priv->vbios.fp_no_ddc && nv_encoder->dcb->i2c_index < 0xf) |
684 | i2c = nouveau_i2c_find(dev, nv_encoder->dcb->i2c_index); | 684 | i2c = nouveau_i2c_find(dev, nv_encoder->dcb->i2c_index); |
685 | 685 | ||
686 | if (i2c) { | 686 | if (i2c) { |
@@ -695,7 +695,7 @@ nouveau_connector_create_lvds(struct drm_device *dev, | |||
695 | */ | 695 | */ |
696 | if (!nv_connector->edid && nouveau_bios_fp_mode(dev, &native) && | 696 | if (!nv_connector->edid && nouveau_bios_fp_mode(dev, &native) && |
697 | (nv_encoder->dcb->lvdsconf.use_straps_for_mode || | 697 | (nv_encoder->dcb->lvdsconf.use_straps_for_mode || |
698 | dev_priv->VBIOS.pub.fp_no_ddc)) { | 698 | dev_priv->vbios.fp_no_ddc)) { |
699 | nv_connector->native_mode = drm_mode_duplicate(dev, &native); | 699 | nv_connector->native_mode = drm_mode_duplicate(dev, &native); |
700 | goto out; | 700 | goto out; |
701 | } | 701 | } |
@@ -704,7 +704,7 @@ nouveau_connector_create_lvds(struct drm_device *dev, | |||
704 | * stored for the panel stored in them. | 704 | * stored for the panel stored in them. |
705 | */ | 705 | */ |
706 | if (!nv_connector->edid && !nv_connector->native_mode && | 706 | if (!nv_connector->edid && !nv_connector->native_mode && |
707 | !dev_priv->VBIOS.pub.fp_no_ddc) { | 707 | !dev_priv->vbios.fp_no_ddc) { |
708 | struct edid *edid = | 708 | struct edid *edid = |
709 | (struct edid *)nouveau_bios_embedded_edid(dev); | 709 | (struct edid *)nouveau_bios_embedded_edid(dev); |
710 | if (edid) { | 710 | if (edid) { |
diff --git a/drivers/gpu/drm/nouveau/nouveau_debugfs.c b/drivers/gpu/drm/nouveau/nouveau_debugfs.c index ac6af471649b..8ff9ef5d4b47 100644 --- a/drivers/gpu/drm/nouveau/nouveau_debugfs.c +++ b/drivers/gpu/drm/nouveau/nouveau_debugfs.c | |||
@@ -151,8 +151,8 @@ nouveau_debugfs_vbios_image(struct seq_file *m, void *data) | |||
151 | struct drm_nouveau_private *dev_priv = node->minor->dev->dev_private; | 151 | struct drm_nouveau_private *dev_priv = node->minor->dev->dev_private; |
152 | int i; | 152 | int i; |
153 | 153 | ||
154 | for (i = 0; i < dev_priv->VBIOS.length; i++) | 154 | for (i = 0; i < dev_priv->vbios.length; i++) |
155 | seq_printf(m, "%c", dev_priv->VBIOS.data[i]); | 155 | seq_printf(m, "%c", dev_priv->vbios.data[i]); |
156 | return 0; | 156 | return 0; |
157 | } | 157 | } |
158 | 158 | ||
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h index a33423622860..6fa9c87083c0 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h | |||
@@ -605,8 +605,7 @@ struct drm_nouveau_private { | |||
605 | 605 | ||
606 | struct list_head gpuobj_list; | 606 | struct list_head gpuobj_list; |
607 | 607 | ||
608 | struct nvbios VBIOS; | 608 | struct nvbios vbios; |
609 | struct nouveau_bios_info *vbios; | ||
610 | 609 | ||
611 | struct nv04_mode_state mode_reg; | 610 | struct nv04_mode_state mode_reg; |
612 | struct nv04_mode_state saved_reg; | 611 | struct nv04_mode_state saved_reg; |
diff --git a/drivers/gpu/drm/nouveau/nouveau_hw.c b/drivers/gpu/drm/nouveau/nouveau_hw.c index dc46792a5c96..7855b35effc3 100644 --- a/drivers/gpu/drm/nouveau/nouveau_hw.c +++ b/drivers/gpu/drm/nouveau/nouveau_hw.c | |||
@@ -160,7 +160,7 @@ static void | |||
160 | setPLL_single(struct drm_device *dev, uint32_t reg, struct nouveau_pll_vals *pv) | 160 | setPLL_single(struct drm_device *dev, uint32_t reg, struct nouveau_pll_vals *pv) |
161 | { | 161 | { |
162 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 162 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
163 | int chip_version = dev_priv->vbios->chip_version; | 163 | int chip_version = dev_priv->vbios.chip_version; |
164 | uint32_t oldpll = NVReadRAMDAC(dev, 0, reg); | 164 | uint32_t oldpll = NVReadRAMDAC(dev, 0, reg); |
165 | int oldN = (oldpll >> 8) & 0xff, oldM = oldpll & 0xff; | 165 | int oldN = (oldpll >> 8) & 0xff, oldM = oldpll & 0xff; |
166 | uint32_t pll = (oldpll & 0xfff80000) | pv->log2P << 16 | pv->NM1; | 166 | uint32_t pll = (oldpll & 0xfff80000) | pv->log2P << 16 | pv->NM1; |
@@ -216,7 +216,7 @@ setPLL_double_highregs(struct drm_device *dev, uint32_t reg1, | |||
216 | struct nouveau_pll_vals *pv) | 216 | struct nouveau_pll_vals *pv) |
217 | { | 217 | { |
218 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 218 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
219 | int chip_version = dev_priv->vbios->chip_version; | 219 | int chip_version = dev_priv->vbios.chip_version; |
220 | bool nv3035 = chip_version == 0x30 || chip_version == 0x35; | 220 | bool nv3035 = chip_version == 0x30 || chip_version == 0x35; |
221 | uint32_t reg2 = reg1 + ((reg1 == NV_RAMDAC_VPLL2) ? 0x5c : 0x70); | 221 | uint32_t reg2 = reg1 + ((reg1 == NV_RAMDAC_VPLL2) ? 0x5c : 0x70); |
222 | uint32_t oldpll1 = NVReadRAMDAC(dev, 0, reg1); | 222 | uint32_t oldpll1 = NVReadRAMDAC(dev, 0, reg1); |
@@ -374,7 +374,7 @@ nouveau_hw_setpll(struct drm_device *dev, uint32_t reg1, | |||
374 | struct nouveau_pll_vals *pv) | 374 | struct nouveau_pll_vals *pv) |
375 | { | 375 | { |
376 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 376 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
377 | int cv = dev_priv->vbios->chip_version; | 377 | int cv = dev_priv->vbios.chip_version; |
378 | 378 | ||
379 | if (cv == 0x30 || cv == 0x31 || cv == 0x35 || cv == 0x36 || | 379 | if (cv == 0x30 || cv == 0x31 || cv == 0x35 || cv == 0x36 || |
380 | cv >= 0x40) { | 380 | cv >= 0x40) { |
diff --git a/drivers/gpu/drm/nouveau/nouveau_i2c.c b/drivers/gpu/drm/nouveau/nouveau_i2c.c index 05fa4983c7fb..88583e7bf651 100644 --- a/drivers/gpu/drm/nouveau/nouveau_i2c.c +++ b/drivers/gpu/drm/nouveau/nouveau_i2c.c | |||
@@ -254,7 +254,7 @@ struct nouveau_i2c_chan * | |||
254 | nouveau_i2c_find(struct drm_device *dev, int index) | 254 | nouveau_i2c_find(struct drm_device *dev, int index) |
255 | { | 255 | { |
256 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 256 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
257 | struct nvbios *bios = &dev_priv->VBIOS; | 257 | struct nvbios *bios = &dev_priv->vbios; |
258 | 258 | ||
259 | if (index >= DCB_MAX_NUM_I2C_ENTRIES) | 259 | if (index >= DCB_MAX_NUM_I2C_ENTRIES) |
260 | return NULL; | 260 | return NULL; |
diff --git a/drivers/gpu/drm/nouveau/nv04_dac.c b/drivers/gpu/drm/nouveau/nv04_dac.c index 1d73b15d70da..1cb19e3acb55 100644 --- a/drivers/gpu/drm/nouveau/nv04_dac.c +++ b/drivers/gpu/drm/nouveau/nv04_dac.c | |||
@@ -230,13 +230,13 @@ uint32_t nv17_dac_sample_load(struct drm_encoder *encoder) | |||
230 | if (dcb->type == OUTPUT_TV) { | 230 | if (dcb->type == OUTPUT_TV) { |
231 | testval = RGB_TEST_DATA(0xa0, 0xa0, 0xa0); | 231 | testval = RGB_TEST_DATA(0xa0, 0xa0, 0xa0); |
232 | 232 | ||
233 | if (dev_priv->vbios->tvdactestval) | 233 | if (dev_priv->vbios.tvdactestval) |
234 | testval = dev_priv->vbios->tvdactestval; | 234 | testval = dev_priv->vbios.tvdactestval; |
235 | } else { | 235 | } else { |
236 | testval = RGB_TEST_DATA(0x140, 0x140, 0x140); /* 0x94050140 */ | 236 | testval = RGB_TEST_DATA(0x140, 0x140, 0x140); /* 0x94050140 */ |
237 | 237 | ||
238 | if (dev_priv->vbios->dactestval) | 238 | if (dev_priv->vbios.dactestval) |
239 | testval = dev_priv->vbios->dactestval; | 239 | testval = dev_priv->vbios.dactestval; |
240 | } | 240 | } |
241 | 241 | ||
242 | saved_rtest_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset); | 242 | saved_rtest_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset); |
diff --git a/drivers/gpu/drm/nouveau/nv04_dfp.c b/drivers/gpu/drm/nouveau/nv04_dfp.c index 483f875bdb6a..41634d4752fe 100644 --- a/drivers/gpu/drm/nouveau/nv04_dfp.c +++ b/drivers/gpu/drm/nouveau/nv04_dfp.c | |||
@@ -269,10 +269,10 @@ static void nv04_dfp_mode_set(struct drm_encoder *encoder, | |||
269 | regp->fp_horiz_regs[FP_TOTAL] = output_mode->htotal - 1; | 269 | regp->fp_horiz_regs[FP_TOTAL] = output_mode->htotal - 1; |
270 | if (!nv_gf4_disp_arch(dev) || | 270 | if (!nv_gf4_disp_arch(dev) || |
271 | (output_mode->hsync_start - output_mode->hdisplay) >= | 271 | (output_mode->hsync_start - output_mode->hdisplay) >= |
272 | dev_priv->vbios->digital_min_front_porch) | 272 | dev_priv->vbios.digital_min_front_porch) |
273 | regp->fp_horiz_regs[FP_CRTC] = output_mode->hdisplay; | 273 | regp->fp_horiz_regs[FP_CRTC] = output_mode->hdisplay; |
274 | else | 274 | else |
275 | regp->fp_horiz_regs[FP_CRTC] = output_mode->hsync_start - dev_priv->vbios->digital_min_front_porch - 1; | 275 | regp->fp_horiz_regs[FP_CRTC] = output_mode->hsync_start - dev_priv->vbios.digital_min_front_porch - 1; |
276 | regp->fp_horiz_regs[FP_SYNC_START] = output_mode->hsync_start - 1; | 276 | regp->fp_horiz_regs[FP_SYNC_START] = output_mode->hsync_start - 1; |
277 | regp->fp_horiz_regs[FP_SYNC_END] = output_mode->hsync_end - 1; | 277 | regp->fp_horiz_regs[FP_SYNC_END] = output_mode->hsync_end - 1; |
278 | regp->fp_horiz_regs[FP_VALID_START] = output_mode->hskew; | 278 | regp->fp_horiz_regs[FP_VALID_START] = output_mode->hskew; |
diff --git a/drivers/gpu/drm/nouveau/nv04_display.c b/drivers/gpu/drm/nouveau/nv04_display.c index 07a8b5502b62..76060f4423f4 100644 --- a/drivers/gpu/drm/nouveau/nv04_display.c +++ b/drivers/gpu/drm/nouveau/nv04_display.c | |||
@@ -93,7 +93,7 @@ int | |||
93 | nv04_display_create(struct drm_device *dev) | 93 | nv04_display_create(struct drm_device *dev) |
94 | { | 94 | { |
95 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 95 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
96 | struct dcb_table *dcb = &dev_priv->VBIOS.dcb; | 96 | struct dcb_table *dcb = &dev_priv->vbios.dcb; |
97 | struct drm_encoder *encoder; | 97 | struct drm_encoder *encoder; |
98 | struct drm_crtc *crtc; | 98 | struct drm_crtc *crtc; |
99 | uint16_t connector[16] = { 0 }; | 99 | uint16_t connector[16] = { 0 }; |
diff --git a/drivers/gpu/drm/nouveau/nv04_tv.c b/drivers/gpu/drm/nouveau/nv04_tv.c index ce247123cde1..c4e3404337d4 100644 --- a/drivers/gpu/drm/nouveau/nv04_tv.c +++ b/drivers/gpu/drm/nouveau/nv04_tv.c | |||
@@ -262,7 +262,7 @@ int nv04_tv_create(struct drm_device *dev, struct dcb_entry *entry) | |||
262 | nv_encoder->or = ffs(entry->or) - 1; | 262 | nv_encoder->or = ffs(entry->or) - 1; |
263 | 263 | ||
264 | /* Run the slave-specific initialization */ | 264 | /* Run the slave-specific initialization */ |
265 | adap = &dev_priv->VBIOS.dcb.i2c[i2c_index].chan->adapter; | 265 | adap = &dev_priv->vbios.dcb.i2c[i2c_index].chan->adapter; |
266 | 266 | ||
267 | was_locked = NVLockVgaCrtcs(dev, false); | 267 | was_locked = NVLockVgaCrtcs(dev, false); |
268 | 268 | ||
diff --git a/drivers/gpu/drm/nouveau/nv17_tv.c b/drivers/gpu/drm/nouveau/nv17_tv.c index 21ac6e49b6ee..74c880374fb9 100644 --- a/drivers/gpu/drm/nouveau/nv17_tv.c +++ b/drivers/gpu/drm/nouveau/nv17_tv.c | |||
@@ -45,8 +45,8 @@ static uint32_t nv42_tv_sample_load(struct drm_encoder *encoder) | |||
45 | 45 | ||
46 | #define RGB_TEST_DATA(r, g, b) (r << 0 | g << 10 | b << 20) | 46 | #define RGB_TEST_DATA(r, g, b) (r << 0 | g << 10 | b << 20) |
47 | testval = RGB_TEST_DATA(0x82, 0xeb, 0x82); | 47 | testval = RGB_TEST_DATA(0x82, 0xeb, 0x82); |
48 | if (dev_priv->vbios->tvdactestval) | 48 | if (dev_priv->vbios.tvdactestval) |
49 | testval = dev_priv->vbios->tvdactestval; | 49 | testval = dev_priv->vbios.tvdactestval; |
50 | 50 | ||
51 | dacclk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset); | 51 | dacclk = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset); |
52 | head = (dacclk & 0x100) >> 8; | 52 | head = (dacclk & 0x100) >> 8; |
@@ -367,7 +367,7 @@ static void nv17_tv_prepare(struct drm_encoder *encoder) | |||
367 | !enc->crtc && | 367 | !enc->crtc && |
368 | nv04_dfp_get_bound_head(dev, dcb) == head) { | 368 | nv04_dfp_get_bound_head(dev, dcb) == head) { |
369 | nv04_dfp_bind_head(dev, dcb, head ^ 1, | 369 | nv04_dfp_bind_head(dev, dcb, head ^ 1, |
370 | dev_priv->VBIOS.fp.dual_link); | 370 | dev_priv->vbios.fp.dual_link); |
371 | } | 371 | } |
372 | } | 372 | } |
373 | 373 | ||
diff --git a/drivers/gpu/drm/nouveau/nv50_dac.c b/drivers/gpu/drm/nouveau/nv50_dac.c index f08f042a8e10..1fd9537beff6 100644 --- a/drivers/gpu/drm/nouveau/nv50_dac.c +++ b/drivers/gpu/drm/nouveau/nv50_dac.c | |||
@@ -79,8 +79,8 @@ nv50_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) | |||
79 | } | 79 | } |
80 | 80 | ||
81 | /* Use bios provided value if possible. */ | 81 | /* Use bios provided value if possible. */ |
82 | if (dev_priv->vbios->dactestval) { | 82 | if (dev_priv->vbios.dactestval) { |
83 | load_pattern = dev_priv->vbios->dactestval; | 83 | load_pattern = dev_priv->vbios.dactestval; |
84 | NV_DEBUG_KMS(dev, "Using bios provided load_pattern of %d\n", | 84 | NV_DEBUG_KMS(dev, "Using bios provided load_pattern of %d\n", |
85 | load_pattern); | 85 | load_pattern); |
86 | } else { | 86 | } else { |
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 34af3b277413..c406be6fdc5f 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c | |||
@@ -465,7 +465,7 @@ static int nv50_display_disable(struct drm_device *dev) | |||
465 | int nv50_display_create(struct drm_device *dev) | 465 | int nv50_display_create(struct drm_device *dev) |
466 | { | 466 | { |
467 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 467 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
468 | struct dcb_table *dcb = &dev_priv->VBIOS.dcb; | 468 | struct dcb_table *dcb = &dev_priv->vbios.dcb; |
469 | uint32_t connector[16] = {}; | 469 | uint32_t connector[16] = {}; |
470 | int ret, i; | 470 | int ret, i; |
471 | 471 | ||
@@ -526,7 +526,7 @@ int nv50_display_create(struct drm_device *dev) | |||
526 | connector[entry->connector] |= (1 << entry->type); | 526 | connector[entry->connector] |= (1 << entry->type); |
527 | } | 527 | } |
528 | 528 | ||
529 | /* It appears that DCB 3.0+ VBIOS has a connector table, however, | 529 | /* It appears that DCB 3.0+ vbios has a connector table, however, |
530 | * I'm not 100% certain how to decode it correctly yet so just | 530 | * I'm not 100% certain how to decode it correctly yet so just |
531 | * look at what encoders are present on each connector index and | 531 | * look at what encoders are present on each connector index and |
532 | * attempt to derive the connector type from that. | 532 | * attempt to derive the connector type from that. |
@@ -667,8 +667,8 @@ nv50_display_irq_head(struct drm_device *dev, int *phead, | |||
667 | return -1; | 667 | return -1; |
668 | } | 668 | } |
669 | 669 | ||
670 | for (i = 0; i < dev_priv->VBIOS.dcb.entries; i++) { | 670 | for (i = 0; i < dev_priv->vbios.dcb.entries; i++) { |
671 | struct dcb_entry *dcbent = &dev_priv->VBIOS.dcb.entry[i]; | 671 | struct dcb_entry *dcbent = &dev_priv->vbios.dcb.entry[i]; |
672 | 672 | ||
673 | if (dcbent->type != type) | 673 | if (dcbent->type != type) |
674 | continue; | 674 | continue; |
@@ -692,7 +692,7 @@ nv50_display_script_select(struct drm_device *dev, struct dcb_entry *dcbent, | |||
692 | struct drm_nouveau_private *dev_priv = dev->dev_private; | 692 | struct drm_nouveau_private *dev_priv = dev->dev_private; |
693 | struct nouveau_connector *nv_connector = NULL; | 693 | struct nouveau_connector *nv_connector = NULL; |
694 | struct drm_encoder *encoder; | 694 | struct drm_encoder *encoder; |
695 | struct nvbios *bios = &dev_priv->VBIOS; | 695 | struct nvbios *bios = &dev_priv->vbios; |
696 | uint32_t mc, script = 0, or; | 696 | uint32_t mc, script = 0, or; |
697 | 697 | ||
698 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { | 698 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { |
@@ -710,7 +710,7 @@ nv50_display_script_select(struct drm_device *dev, struct dcb_entry *dcbent, | |||
710 | switch (dcbent->type) { | 710 | switch (dcbent->type) { |
711 | case OUTPUT_LVDS: | 711 | case OUTPUT_LVDS: |
712 | script = (mc >> 8) & 0xf; | 712 | script = (mc >> 8) & 0xf; |
713 | if (bios->pub.fp_no_ddc) { | 713 | if (bios->fp_no_ddc) { |
714 | if (bios->fp.dual_link) | 714 | if (bios->fp.dual_link) |
715 | script |= 0x0100; | 715 | script |= 0x0100; |
716 | if (bios->fp.if_is_24bit) | 716 | if (bios->fp.if_is_24bit) |