search for: nouveau_bios_shadow_prom

Displaying 10 results from an estimated 10 matches for "nouveau_bios_shadow_prom".

2014 Apr 03
2
[PATCH] bios: fix a potential NULL deref in the PROM shadowing function
...<martin.peres at free.fr> --- nvkm/subdev/bios/base.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nvkm/subdev/bios/base.c b/nvkm/subdev/bios/base.c index 3de7d81..5f8643d 100644 --- a/nvkm/subdev/bios/base.c +++ b/nvkm/subdev/bios/base.c @@ -183,10 +183,11 @@ nouveau_bios_shadow_prom(struct nouveau_bios *bios) goto out; bios->data = kmalloc(bios->size, GFP_KERNEL); - if (bios->data) { - for (i = 0; i < bios->size; i += 4) - ((u32 *)bios->data)[i/4] = nv_rd32(bios, 0x300000 + i); - } + if (!bios->data) + goto out; + + for (i = 0; i < bios->s...
2014 Mar 25
2
[PATCH 4/4] vbios/prom: fetch the vbios using only aligned 32-bit accesses
...gt; --- nvkm/subdev/bios/base.c | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/nvkm/subdev/bios/base.c b/nvkm/subdev/bios/base.c index 5608530..baa5687 100644 --- a/nvkm/subdev/bios/base.c +++ b/nvkm/subdev/bios/base.c @@ -157,6 +157,10 @@ nouveau_bios_shadow_prom(struct nouveau_bios *bios) pcireg = 0x001850; access = nv_mask(bios, pcireg, 0x00000001, 0x00000000); + /* WARNING: PROM accesses should always be 32-bits aligned. Other + * accesses work on most chipset but do not on Kepler chipsets + */ + /* bail if no rom signature, with a workaround...
2014 Mar 24
2
PROM vbios fetching issues
...I blacklist the module and load it myself later on, it always succeeds. To make things weirder, the same card works great on another computer. Here is the relevant code in Nouveau to fetch the vbios from PROM: http://code.woboq.org/linux/linux/drivers/gpu/drm/nouveau/core/subdev/bios/base.c.html#nouveau_bios_shadow_prom The only solution I found to this problem is to try up to 16 times in a row to fetch the vbios using PROM. If the 16 tries yield a bad signature or checksum, I just give up and let it try other techniques. Here is the patch[1]. With this hack in place, the number of retries needed to be able t...
2014 May 29
1
[PATCH] bios: fix a potential NULL deref in the PROM shadowing function
...9 +++++---- >> 1 file changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/nvkm/subdev/bios/base.c b/nvkm/subdev/bios/base.c >> index 3de7d81..5f8643d 100644 >> --- a/nvkm/subdev/bios/base.c >> +++ b/nvkm/subdev/bios/base.c >> @@ -183,10 +183,11 @@ nouveau_bios_shadow_prom(struct nouveau_bios *bios) >> goto out; >> >> bios->data = kmalloc(bios->size, GFP_KERNEL); >> - if (bios->data) { >> - for (i = 0; i < bios->size; i += 4) >> - ((u32 *)bios->data...
2014 Mar 25
0
[PATCH 4/4] vbios/prom: fetch the vbios using only aligned 32-bit accesses
...35 +++++++++++++++++++++++------------ > 1 file changed, 23 insertions(+), 12 deletions(-) > > diff --git a/nvkm/subdev/bios/base.c b/nvkm/subdev/bios/base.c > index 5608530..baa5687 100644 > --- a/nvkm/subdev/bios/base.c > +++ b/nvkm/subdev/bios/base.c > @@ -157,6 +157,10 @@ nouveau_bios_shadow_prom(struct nouveau_bios *bios) > pcireg = 0x001850; > access = nv_mask(bios, pcireg, 0x00000001, 0x00000000); > > + /* WARNING: PROM accesses should always be 32-bits aligned. Other > + * accesses work on most chipset but do not on Kepler chipsets &gt...
2014 Mar 25
0
PROM vbios fetching issues
...later on, >> it always succeeds. To make things weirder, the same card works great on >> another computer. >> >> Here is the relevant code in Nouveau to fetch the vbios from PROM: >> http://code.woboq.org/linux/linux/drivers/gpu/drm/nouveau/core/subdev/bios/base.c.html#nouveau_bios_shadow_prom >> >> The only solution I found to this problem is to try up to 16 times in a >> row to fetch the vbios using PROM. If the 16 tries yield a bad signature >> or checksum, I just give up and let it try other techniques. Here is the >> patch[1]. >> >> With thi...
2014 May 27
0
[PATCH] bios: fix a potential NULL deref in the PROM shadowing function
...nvkm/subdev/bios/base.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/nvkm/subdev/bios/base.c b/nvkm/subdev/bios/base.c > index 3de7d81..5f8643d 100644 > --- a/nvkm/subdev/bios/base.c > +++ b/nvkm/subdev/bios/base.c > @@ -183,10 +183,11 @@ nouveau_bios_shadow_prom(struct nouveau_bios *bios) > goto out; > > bios->data = kmalloc(bios->size, GFP_KERNEL); > - if (bios->data) { > - for (i = 0; i < bios->size; i += 4) > - ((u32 *)bios->data)[i/4] = nv_rd32(bios, 0x300000 + i); > - } > + if (!bios->data) > +...
2014 Mar 25
0
PROM vbios fetching issues
...d load it myself later on, > it always succeeds. To make things weirder, the same card works great on > another computer. > > Here is the relevant code in Nouveau to fetch the vbios from PROM: > http://code.woboq.org/linux/linux/drivers/gpu/drm/nouveau/core/subdev/bios/base.c.html#nouveau_bios_shadow_prom > > The only solution I found to this problem is to try up to 16 times in a > row to fetch the vbios using PROM. If the 16 tries yield a bad signature > or checksum, I just give up and let it try other techniques. Here is the > patch[1]. > > With this hack in place, the nu...
2014 Mar 24
4
[PATCH 1/4] pm/fan: drop the fan lock in fan_update() before rescheduling
From: Martin Peres <martin.peres at labri.fr> This should fix a deadlock that has been reported to us where fan_update() would hold the fan lock and try to grab the alarm_program_lock to reschedule an update. On an other CPU, the alarm_program_lock would have been taken before calling fan_update(), leading to a deadlock. We should Cc: <stable at vger.kernel.org> # 3.9+ Reported-by:
2014 Feb 05
2
[PATCH 1/3] drm/nv4c/mc: nv4x igp's have a different msi rearm register
See https://bugs.freedesktop.org/show_bug.cgi?id=74492 Reported-by: Ronald <ronald645 at gmail.com> Suggested-by: Marcin Ko?cielnicki <koriakin at 0x04.net> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- drivers/gpu/drm/nouveau/Makefile | 1 + drivers/gpu/drm/nouveau/core/engine/device/nv40.c | 10 ++---