projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a163451
)
drm/nouveau/bios: require checksum to match for fast acpi shadow method
author
Ben Skeggs
<bskeggs@redhat.com>
Fri, 14 Oct 2016 03:16:36 +0000
(13:16 +1000)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Mon, 9 Jan 2017 07:07:45 +0000
(08:07 +0100)
commit
5dc7f4aa9d84ea94b54a9bfcef095f0289f1ebda
upstream.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
patch
|
blob
|
history
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
patch
|
blob
|
history
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
index 212800ecdce99e4eb1a3a23ebdab9c207cd860da..7d1d3c6b4b728dec4711a75883df4d700a1a6290 100644
(file)
--- a/
drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
+++ b/
drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
@@
-12,6
+12,7
@@
struct nvbios_source {
bool rw;
bool ignore_checksum;
bool no_pcir;
+ bool require_checksum;
};
int nvbios_extend(struct nvkm_bios *, u32 length);
diff --git
a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
index b2557e87afdd6d0e95910b3b4b91e37ce9a3e269..7deb81b6dbac6bc5a440da281eca94b51b632f83 100644
(file)
--- a/
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
+++ b/
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
@@
-86,9
+86,12
@@
shadow_image(struct nvkm_bios *bios, int idx, u32 offset, struct shadow *mthd)
nvbios_checksum(&bios->data[image.base], image.size)) {
nvkm_debug(subdev, "%08x: checksum failed\n",
image.base);
- if (mthd->func->rw)
+ if (!mthd->func->require_checksum) {
+ if (mthd->func->rw)
+ score += 1;
score += 1;
- score += 1;
+ } else
+ return 0;
} else {
score += 3;
}
diff --git
a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
index 8fecb5ff22a0efaaeaed9bc2b4939072fc6513bc..06572f8ce9148805ca37470c978af17f42e72827 100644
(file)
--- a/
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
+++ b/
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
@@
-99,6
+99,7
@@
nvbios_acpi_fast = {
.init = acpi_init,
.read = acpi_read_fast,
.rw = false,
+ .require_checksum = true,
};
const struct nvbios_source