linux_dsm_epyc7002/drivers/gpu/drm/nouveau
Jan Vesely 4195f40685 drm/nouveau/bios: fix fetching from acpi on certain systems
nvbios_extend() returns 1 to indicate "extended the array" and 0 to
indicate the array is already big enough.  This is used by the core
shadowing code to prevent re-fetching chunks of the image that have
already been shadowed.

The ACPI fetching code may possibly need to extend this further due
to requiring fetches to happen in 4KiB chunks.

Under certain circumstances (that happen if the total image size is
a multiple of 4KiB), the memory allocated to store the shadow will
already be big enough, causing the ACPI code's nvbios_extend() call
to return 0, which is misinterpreted as a failure.

The fix is simple, accept >= 0 as a successful condition here.  The
core will have already made sure that we're not re-fetching data we
already have.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89047

v2 (Ben Skeggs):
- dropped hunk which would cause unnecessary re-fetching
- more descriptive explanation

Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-04-14 17:00:59 +10:00
..
dispnv04 drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
include drm/nouveau/gr/gm206: initial init+ctx code 2015-04-14 17:00:58 +10:00
nvif drm/nouveau/core: namespace + nvidia gpu names (no binary change) 2015-01-22 12:17:49 +10:00
nvkm drm/nouveau/bios: fix fetching from acpi on certain systems 2015-04-14 17:00:59 +10:00
Kbuild drm/nouveau: remove symlinks, move core/ to nvkm/ (no code changes) 2015-01-22 12:15:10 +10:00
Kconfig drm/nouveau: merge nouveau_platform.ko into nouveau.ko 2015-01-22 12:15:09 +10:00
nouveau_abi16.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_abi16.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_acpi.c ACPIPHP / radeon / nouveau: Remove acpi_bus_no_hotplug() 2014-09-15 13:15:34 -06:00
nouveau_acpi.h
nouveau_agp.c drm/nouveau/nvif: namespace of nvkm accessors (no binary change) 2015-01-22 12:17:49 +10:00
nouveau_agp.h
nouveau_backlight.c drm/nouveau: initial pass at moving to struct nvif_device 2014-08-10 05:13:13 +10:00
nouveau_bios.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_bios.h
nouveau_bo.c drm/nouveau: support for buffer moves via MaxwellDmaCopyA 2015-04-14 17:00:57 +10:00
nouveau_bo.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_chan.c drm/nouveau: add support for gm20x fifo channels 2015-04-14 17:00:56 +10:00
nouveau_chan.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_connector.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_connector.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_crtc.h drm/nouveau/disp: implement nvif event sources for vblank/connector notifiers 2014-08-10 05:28:12 +10:00
nouveau_debugfs.c
nouveau_debugfs.h
nouveau_display.c make RAM device optional 2015-04-14 17:00:42 +10:00
nouveau_display.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_dma.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_dma.h drm/nouveau: remove (most) hardcoded object handle usage 2014-08-10 05:13:15 +10:00
nouveau_dp.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_drm.c drm/nouveau: add support for gm20x fifo channels 2015-04-14 17:00:56 +10:00
nouveau_drm.h drm/nouveau: bump driver patchlevel for coherent flag 2015-04-14 17:00:47 +10:00
nouveau_encoder.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_fbcon.c drm/ttm: device address space != CPU address space 2015-03-05 09:04:39 +10:00
nouveau_fbcon.h drm/nouveau: dont switch vt on suspend 2015-01-22 12:15:08 +10:00
nouveau_fence.c drm/nouveau/nvif: namespace of nvkm accessors (no binary change) 2015-01-22 12:17:49 +10:00
nouveau_fence.h drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_gem.c drm/nouveau/gem: allow user-space to specify an object should be coherent 2015-04-14 17:00:46 +10:00
nouveau_gem.h drm: Pass dma-buf as argument to gem_prime_import_sg_table 2014-09-30 14:04:00 +02:00
nouveau_hwmon.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_nvif.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_platform.c drm/nouveau/platform: fix probe error path 2015-04-14 17:00:51 +10:00
nouveau_platform.h drm/nouveau/platform: probe IOMMU if present 2015-04-14 17:00:44 +10:00
nouveau_prime.c drm/nouveau: teach nouveau_bo_pin() how to force a contig vram allocation 2014-12-02 15:44:09 +10:00
nouveau_reg.h drm/nouveau/sw: rename from software (no binary change) 2015-01-22 12:17:47 +10:00
nouveau_sgdma.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nouveau_sysfs.c drm/nouveau/nvif: namespace of nvkm accessors (no binary change) 2015-01-22 12:17:49 +10:00
nouveau_sysfs.h drm/nouveau: Display Nouveau boot options at launch 2014-09-15 22:24:58 +10:00
nouveau_ttm.c make RAM device optional 2015-04-14 17:00:42 +10:00
nouveau_ttm.h
nouveau_usif.c drm/nouveau: expose the full object/event interfaces to userspace 2014-08-10 05:28:18 +10:00
nouveau_usif.h drm/nouveau: expose the full object/event interfaces to userspace 2014-08-10 05:28:18 +10:00
nouveau_vga.c drm/nouveau/runpm: fix module unload 2014-09-18 19:22:37 -04:00
nouveau_vga.h
nv04_fbcon.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nv04_fence.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nv10_fence.c drm/nouveau: assign fence_chan->name correctly 2014-09-30 14:04:00 +02:00
nv10_fence.h drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nv17_fence.c drm/nouveau: teach nouveau_bo_pin() how to force a contig vram allocation 2014-12-02 15:44:09 +10:00
nv50_display.c drm/nouveau: finalise nvkm namespace switch (no binary change) 2015-01-22 12:18:07 +10:00
nv50_display.h
nv50_fbcon.c drm/nouveau: remove (most) hardcoded object handle usage 2014-08-10 05:13:15 +10:00
nv50_fence.c drm/nouveau: teach nouveau_bo_pin() how to force a contig vram allocation 2014-12-02 15:44:09 +10:00
nv84_fence.c make RAM device optional 2015-04-14 17:00:42 +10:00
nvc0_fbcon.c drm/nouveau: remove (most) hardcoded object handle usage 2014-08-10 05:13:15 +10:00
nvc0_fence.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00