mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
drm/nouveau/bios: specify correct display fuse register for Ampere and Ada
The NV_FUSE_STATUS_OPT_DISPLAY register is used to determine whether
the GPU has display hardware. The current code that normally reads
this register is instead hard-coded to check for GA100 vs later GPUs.
Since this function is called only on pre-Hopper GPUs, and this
if-statement applies only to GA100 and later, the check works
because GA100 is the only non-display Ampere and Ada GPU.
However, there actually is a register that can be read, so we should
use it.
Fixes: a34632482f ("drm/nouveau/bios/ga10[024]: initial support")
Signed-off-by: Timur Tabi <ttabi@nvidia.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20260430223838.2530778-8-ttabi@nvidia.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
16d4747cd1
commit
c1cf2d5db8
|
|
@ -65,13 +65,14 @@ pramin_init(struct nvkm_bios *bios, const char *name)
|
|||
|
||||
/* we can't get the bios image pointer without PDISP */
|
||||
if (device->card_type >= GA100)
|
||||
addr = device->chipset == 0x170; /*XXX: find the fuse reg for this */
|
||||
addr = nvkm_rd32(device, 0x820c04);
|
||||
else
|
||||
if (device->card_type >= GM100)
|
||||
addr = nvkm_rd32(device, 0x021c04);
|
||||
else
|
||||
if (device->card_type >= NV_C0)
|
||||
addr = nvkm_rd32(device, 0x022500);
|
||||
|
||||
if (addr & 0x00000001) {
|
||||
nvkm_debug(subdev, "... display disabled\n");
|
||||
return ERR_PTR(-ENODEV);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user