[Nouveau] [Bug 92013] [NVA0] 4.3-rc1 fan set to full speed after resume from suspend

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=92013

Martin Peres  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Martin Peres  ---
Let's close this bug then. Thanks for reporting the issue and testing the
patch!

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 92192] New: nouveau does not detect monitor native resolution

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=92192

Bug ID: 92192
   Summary: nouveau does not detect monitor native resolution
   Product: xorg
   Version: unspecified
  Hardware: Other
OS: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Driver/nouveau
  Assignee: nouveau@lists.freedesktop.org
  Reporter: germano.massu...@gmail.com
QA Contact: xorg-t...@lists.x.org

Created attachment 118534
  --> https://bugs.freedesktop.org/attachment.cgi?id=118534&action=edit
Xorg.0.log

I am writing from a machine with a monitor that uses VGA cable. xrandr shows
only 1024x768 as max resolution but the monitor supports 1680x1050

# xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
VGA-1 disconnected (normal left inverted right x axis y axis)
VGA-2 connected primary 1024x768+0+0 (normal left inverted right x axis y axis)
0mm x 0mm
   1024x768  60.00* 
   800x600   60.3256.25  
   848x480   60.00  
   640x480   59.94  
HDMI-1 disconnected (normal left inverted right x axis y axis


# lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 240]
(rev a2)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 92192] nouveau does not detect monitor native resolution

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=92192

--- Comment #1 from Germano Massullo  ---
Created attachment 118535
  --> https://bugs.freedesktop.org/attachment.cgi?id=118535&action=edit
dmesg

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 92192] nouveau does not detect monitor native resolution

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=92192

--- Comment #2 from Germano Massullo  ---
Created attachment 118536
  --> https://bugs.freedesktop.org/attachment.cgi?id=118536&action=edit
vbios.rom

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 92192] nouveau does not detect monitor native resolution (Geforce GT240 / GT215)

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=92192

Germano Massullo  changed:

   What|Removed |Added

Summary|nouveau does not detect |nouveau does not detect
   |monitor native resolution   |monitor native resolution
   ||(Geforce GT240 / GT215)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 92192] nouveau does not detect monitor native resolution (Geforce GT240 / GT215)

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=92192

--- Comment #3 from Germano Massullo  ---
I could not reboot with log_buf_len=1M kernel flag, but let me know if you
think it is needed to get a better dmesg log.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761

2015-09-30 Thread Ondrej Zary
SiS 761 chipset does not support AGP cards but has AGP capability (for
the onboard video). At least PC Chips A31G board using this chipset has
an AGP-like AGPro slot that's wired to the PCI bus. Enabling AGP will
fail (GPU lockup and software fbcon, X11 hangs).

Add support for matching just the host bridge in nvkm_device_agp_quirks
and add entry for SiS 761 with mode 0 (AGP disabled).

Signed-off-by: Ondrej Zary 
---
 drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c |8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c 
b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c
index 814cb51..385a90f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c
@@ -35,6 +35,8 @@ static const struct nvkm_device_agp_quirk
 nvkm_device_agp_quirks[] = {
/* VIA Apollo PRO133x / GeForce FX 5600 Ultra - fdo#20341 */
{ PCI_VENDOR_ID_VIA, 0x0691, PCI_VENDOR_ID_NVIDIA, 0x0311, 2 },
+   /* SiS 761 does not support AGP cards, use PCI mode */
+   { PCI_VENDOR_ID_SI, 0x0761, PCI_ANY_ID, PCI_ANY_ID, 0 },
{},
 };
 
@@ -137,8 +139,10 @@ nvkm_agp_ctor(struct nvkm_pci *pci)
while (quirk->hostbridge_vendor) {
if (info.device->vendor == quirk->hostbridge_vendor &&
info.device->device == quirk->hostbridge_device &&
-   pci->pdev->vendor == quirk->chip_vendor &&
-   pci->pdev->device == quirk->chip_device) {
+   (quirk->chip_vendor == (u16)PCI_ANY_ID ||
+   pci->pdev->vendor == quirk->chip_vendor) &&
+   (quirk->chip_device == (u16)PCI_ANY_ID ||
+   pci->pdev->device == quirk->chip_device)) {
nvkm_info(subdev, "forcing default agp mode to %dX, "
  "use NvAGP= to override\n",
  quirk->mode);
-- 
Ondrej Zary

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761

2015-09-30 Thread Samuel Pitoiset

This patch has been merged by Ben yesterday.

http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=8c713f90a63ffca10d122af09d439f3409c933ed

Why do you send a new version ? Is the previous patch wrong?

On 09/30/2015 01:48 PM, Ondrej Zary wrote:

SiS 761 chipset does not support AGP cards but has AGP capability (for
the onboard video). At least PC Chips A31G board using this chipset has
an AGP-like AGPro slot that's wired to the PCI bus. Enabling AGP will
fail (GPU lockup and software fbcon, X11 hangs).

Add support for matching just the host bridge in nvkm_device_agp_quirks
and add entry for SiS 761 with mode 0 (AGP disabled).

Signed-off-by: Ondrej Zary 
---
  drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c |8 ++--
  1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c 
b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c
index 814cb51..385a90f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c
@@ -35,6 +35,8 @@ static const struct nvkm_device_agp_quirk
  nvkm_device_agp_quirks[] = {
/* VIA Apollo PRO133x / GeForce FX 5600 Ultra - fdo#20341 */
{ PCI_VENDOR_ID_VIA, 0x0691, PCI_VENDOR_ID_NVIDIA, 0x0311, 2 },
+   /* SiS 761 does not support AGP cards, use PCI mode */
+   { PCI_VENDOR_ID_SI, 0x0761, PCI_ANY_ID, PCI_ANY_ID, 0 },
{},
  };
  
@@ -137,8 +139,10 @@ nvkm_agp_ctor(struct nvkm_pci *pci)

while (quirk->hostbridge_vendor) {
if (info.device->vendor == quirk->hostbridge_vendor &&
info.device->device == quirk->hostbridge_device &&
-   pci->pdev->vendor == quirk->chip_vendor &&
-   pci->pdev->device == quirk->chip_device) {
+   (quirk->chip_vendor == (u16)PCI_ANY_ID ||
+   pci->pdev->vendor == quirk->chip_vendor) &&
+   (quirk->chip_device == (u16)PCI_ANY_ID ||
+   pci->pdev->device == quirk->chip_device)) {
nvkm_info(subdev, "forcing default agp mode to %dX, "
  "use NvAGP= to override\n",
  quirk->mode);


___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761

2015-09-30 Thread Ondrej Zary
On Wednesday 30 September 2015, Samuel Pitoiset wrote:
> This patch has been merged by Ben yesterday.
>
> http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=8c713f90a63ffca10d
>122af09d439f3409c933ed
>
> Why do you send a new version ? Is the previous patch wrong?

Oops, sorry. Didn't notice it was merged.

-- 
Ondrej Zary
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 81690] nouveau GPU locks up under memory pressure

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=81690

--- Comment #8 from Michal Suchanek  ---
Hello, 

do you have a test program that triggers this without much dependencies which
you can upload?

Comment #1 says something about uploading large texture array.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 89558] [NV118] GM108 not supported by nouveau

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=89558

--- Comment #40 from Andrey Borzenkov  ---
Using current kernel.org git as of dd36d7393d6310b0c1adefb22fba79c3cf8a577c and
adding 0x118 to select 0x117 driver I get

[   67.595247] nouveau: module verification failed: signature and/or required
key missing - tainting kernel
[   67.601091] MXM: GUID detected in BIOS
[   67.601144] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type
mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[   67.601182] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type
mismatch - Found [Buffer], ACPI requires [Package] (20150818/nsarguments-95)
[   67.601330] pci :03:00.0: optimus capabilities: enabled, status dynamic
power, hda bios codec supported
[   67.601331] VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.RP05.PEGP
handle
[   67.601380] nouveau :03:00.0: enabling device (0006 -> 0007)
[   67.601421] nouveau :03:00.0: NVIDIA GM107 (118000a2)
[   67.614439] nouveau :03:00.0: bios: version 82.08.18.00.2a
[   67.698727] nouveau :03:00.0: fb: 2048 MiB DDR3
[   67.698759] nouveau :03:00.0: priv: HUB0: 6013d4 5730 (1b408200)
[   67.698795] nouveau :03:00.0: priv: HUB0: 10ecc0  (1840822c)
[   68.975809] vga_switcheroo: enabled
[   68.975924] [TTM] Zone  kernel: Available graphics memory: 4031282 kiB
[   68.975925] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[   68.975936] [TTM] Initializing pool allocator
[   68.975940] [TTM] Initializing DMA pool allocator
[   68.975950] nouveau :03:00.0: DRM: VRAM: 2048 MiB
[   68.975951] nouveau :03:00.0: DRM: GART: 1048576 MiB
[   68.975953] nouveau :03:00.0: DRM: Pointer to TMDS table invalid
[   68.975955] nouveau :03:00.0: DRM: DCB version 4.0
[   68.975956] nouveau :03:00.0: DRM: Pointer to flat panel table invalid
[   69.132692] nouveau :03:00.0: DRM: MM: using COPY for buffer copies
[   69.132701] [drm] Initialized nouveau 1.3.0 20120801 for :03:00.0 on
minor 1

/dev/dri nodes are correctly created for a second card. Unfortunately attempt
to actually run something on secondary GPU results in

[   184.755] (II) [drm] nouveau interface version: 1.3.0
[   184.755] (EE) Unknown chipset: NV118

While running up to date kernel is easy, getting up to date Xorg is probably
more challenging (I'm writing this on Ubuntu 14.04). But kernel side looks
promising. Please let me know if you need any additional logs from nouveau or
nVidia driver.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] Documentation request for MP warp error 0x10

2015-09-30 Thread Ilia Mirkin
Hello,

I've recently come across an error reported by the GPU and would like
to know what it means and especially what causes it to be triggered.
Any information would be very useful:

I'm seeing MP warp error 0x10 (appears in MP register 0x48). This is
what we currently have in nouveau:

 











[Additionally it seems like 15 = UNALIGNED_MEM_ACCESS]

It seems to happen whenever I try to access global memory on kepler
(potentially only atomics, not sure at this point). Knowing precisely
what causes the error to get triggered (and esp what we need to do in
order not to trigger it) would be most useful.

For reference, my shader looks something like this (for SM35):

/*0018*/   LDC.64 R0, c[0xf][0x1c0];
  /* 0x7ca80780e01ffc02 */
/*0020*/   ATOM.E.ADD R2, [R0], R2;
  /* 0x6808011c000a */
/*0028*/   LD.E.CG R0, [R0];
  /* 0xcc80001c */

I know that the proprietary drivers are a lot more sophisticated and
only do the atomic add from a single lane, but I was assuming that was
not required.

Thanks,

  -ilia
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 89558] [NV118] GM108 not supported by nouveau

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=89558

--- Comment #41 from Ilia Mirkin  ---
(In reply to Andrei Borzenkov from comment #40)
> /dev/dri nodes are correctly created for a second card. Unfortunately
> attempt to actually run something on secondary GPU results in
> 
> [   184.755] (II) [drm] nouveau interface version: 1.3.0
> [   184.755] (EE) Unknown chipset: NV118

The nouveau DDX won't do anything useful for maxwell. Use the modesetting
driver. Do note that there are known problems with GLAMOR.

But chances are there are no outputs on the GM108 anyways, so that won't be an
issue.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 89558] [NV118] GM108 not supported by nouveau

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=89558

--- Comment #42 from Andrei Borzenkov  ---
(In reply to Ilia Mirkin from comment #41)
> Use the modesetting driver.

Does not work - I do not get any output (but as said, I have quite dated Xorg).
Anyway, the whole point of Optimus systems is to use discrete GPU for hardware
acceleration; using generic driver seems to defeat it ...

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [Bug 89558] [NV118] GM108 not supported by nouveau

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=89558

--- Comment #43 from Ilia Mirkin  ---
(In reply to Andrei Borzenkov from comment #42)
> (In reply to Ilia Mirkin from comment #41)
> > Use the modesetting driver.
> 
> Does not work - I do not get any output (but as said, I have quite dated
> Xorg). Anyway, the whole point of Optimus systems is to use discrete GPU for
> hardware acceleration; using generic driver seems to defeat it ...

How so?

With a modern Xorg you should be able to do 3 things:

(a) use modesetting + glamor on any hardware with libGL support to get X
operation acceleration [which is not something you care about since you're not
going to use the GM108 as a primary]
(b) use xrandr-based gpu offloading to get DRI2 offloading with DRI_PRIME=1
(c) use DRI3-based offloading with DRI_PRIME=1 assuming your intel ddx has that
enabled

Note how nowhere in there is there any mention of a nouveau ddx.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


Re: [Nouveau] [PATCH 7/9] fb/ramnv50: Script changes for G94 and up

2015-09-30 Thread Roy Spliet
Hey Ben,


--- original message ---
From: Ben Skeggs 
Date: 05:05:34 30-09-2015
To: Roy Spliet ,  Nouveau Mailinglist 

Subject: Re: [PATCH 7/9] fb/ramnv50: Script changes for G94 and up

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> On 09/30/2015 09:23 AM, Roy Spliet wrote:
> > 10053c is not even read on some cards, and I have no idea exactly
> > what the criteria are. Likely NVIDIA pre-scans the VBIOS and in
> > their driver disables all features that are never used. The
> > practical effect should be the same as this implementation though.
> I haven't fully reviewed the series properly yet, but wanted to put my
> two cents worth in here.
> 
> If this works like it does on Kepler, you're going to get bitten here
> if you don't do this correctly.
> [snip]
> Depending on what DEVINIT did, this can leave something either enabled
> or disabled, you don't know which, you're just supposed to just not
> touch it.

Yes, this is precisely what I have observed, but thanks for restating.
I realise I have been living on the edge by ignoring this for now.
Quite honestly though, I haven't come across an example where this would
become a problem *yet*. I reckon this is something you could expect
a follow-up patch for once I have time for it.

> 
> I tried to ignore this on Kepler initially, but eventually got bitten
> by it and had to implement it properly (gk104_ram_ctor_data() handles
> this for the most part).
> 
> I'd *strongly* recommend you verify if the behaviour is the same on
> these boards, and implement it if it is.

Agreed, but given I am probably running out of time quite soon, I do
recommend taking the current work upstream as is or suggest minor
fixes, and not first wait for this proposed change. That's purely
from a practical stance: what I pushed to the ML are improvements.
Some people benefit from it and it'd be a shame to let that bit-rot.

Roy.

> 
> Ben.
> 
> > 
> > Signed-off-by: Roy Spliet  Tested-by: Pierre
> 
> > Moreau  --- 
> > drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c | 36
> >  1 file changed, 30 insertions(+), 6
> > deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c
> > b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c index
> > 1c6ae6b..651b74a 100644 ---
> > a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c +++
> > b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c @@ -302,6 +302,9
> 
> > @@ nv50_ram_calc(struct nvkm_ram *base, u32 freq) return ret; }
> > 
> > +   if (subdev->device->chipset <= 0x96 &&
> > !next->bios.ramcfg_00_03_02) +  ram_mask(hwsq, 0x100710,
> > 0x0200, 0x); + /* Always disable this bit during
> > reclock */ ram_mask(hwsq, 0x100200, 0x0800, 0x);
> > 
> > @@ -353,8 +356,11 @@ nv50_ram_calc(struct nvkm_ram *base, u32
> > freq) next->bios.rammap_00_16_40 << 14); ram_mask(hwsq, 0x00400c,
> 
> > 0x, (N1 << 8) | M1); ram_mask(hwsq, 0x004008, 0x91ff,
> 
> > r004008); - if (subdev->device->chipset >= 0x96) + +/* XXX:
> GDDR3
> > only? */ +  if (subdev->device->chipset >= 0x92) ram_wr32(hwsq,
> 
> > 0x100da0, r100da0); + nv50_ram_gpio(hwsq, 0x18,
> > !next->bios.ramcfg_FBVDDQ); ram_nsec(hwsq, 64000); /*XXX*/ 
> > ram_nsec(hwsq, 32000); /*XXX*/ @@ -397,19 +403,33 @@
> > nv50_ram_calc(struct nvkm_ram *base, u32 freq) ram_mask(hwsq,
> > 0x100200, 0x1000, !next->bios.ramcfg_00_04_02 << 12);
> > 
> > /* XXX: A lot of this could be "chipset"/"ram type"
> specific stuff
> > */ -unk710  = ram_rd32(hwsq, 0x100710) & ~0x0101; + unk710
>  =
> > ram_rd32(hwsq, 0x100710) & ~0x0100; unk714  = ram_rd32(hwsq,
> 
> > 0x100714) & ~0xf020; unk718  = ram_rd32(hwsq, 0x100718) &
> 
> > ~0x0100; unk71c  = ram_rd32(hwsq, 0x10071c) & ~0x0100; +
> if
> > (subdev->device->chipset <= 0x96) { +   unk710 &= ~0x006e;
> +
> > unk714 &= ~0x0100; + +  if (!next->bios.ramcfg_00_03_08)
> +
> > unk710 |= 0x0060; + if (!next->bios.ramcfg_FBVDDQ) +
> > unk714
> 
> > |= 0x0100; +if ( next->bios.ramcfg_00_04_04) +  
> > unk710 |=
> 
> > 0x000e; +   } else { +  unk710 &= ~0x0001; + +  
> > if
> > (!next->bios.ramcfg_00_03_08) + unk710 |= 0x0001; + 
> > }
> > 
> > if ( next->bios.ramcfg_00_03_01) unk71c |= 0x0100; if (
> > next->bios.ramcfg_00_03_02) unk710 |= 0x0100; - if
> > (!next->bios.ramcfg_00_03_08) { -   unk710 |= 0x1; -
> > unk714 |=
> > 0x20; - } + if (!next->bios.ramcfg_00_03_08) +  unk714 
> > |=
> > 0x0020; if ( next->bios.ramcfg_00_04_04) unk714 |= 0x7000;
> 
> > if ( next->bios.ramcfg_00_04_20) @@ -420,6 +440,8 @@
> > nv50_ram_calc(struct nvkm_ram *base, u32 freq) ram_mask(hwsq,
> > 0x100718, 0x, unk718); ram_mask(hwsq, 0x100710, 0x,
> 
> > unk710);
> > 
> > +   /* XXX: G94 does not even test these regs

[Nouveau] [PATCH v4] pci: Handle 5-bit and 8-bit tag field

2015-09-30 Thread Pierre Moreau
If the hardware supports extended tag field (8-bit ones), then enabled it. This
is usually done by the VBIOS, but not on some MBPs (see fdo#86537).
In case extended tag field is not supported, 5-bit tag field is used which
limits the possible values to 32. Apparently bits 7:0 of 0x8841c stores some
number of outstanding requests, so cap it to 32 if extended tag is unsupported.

Fixes: fdo#86537

v2: Restrict changes to chipsets >= 0x84
v3:
  * Add nvkm_pci_mask to pci.h
  * Mask bit 8 before setting it
v4:
  * Rename `add` argument of nvkm_pci_mask to `value`
  * Move code from nvkm_pci_init to g84_pci_init and remove PCIe and chipset
checks

Signed-off-by: Pierre Moreau 
---
 drm/nouveau/include/nvkm/subdev/pci.h |  4 +++
 drm/nouveau/nvkm/engine/device/base.c | 64 +--
 drm/nouveau/nvkm/subdev/pci/Kbuild|  1 +
 drm/nouveau/nvkm/subdev/pci/base.c| 43 ---
 drm/nouveau/nvkm/subdev/pci/g84.c | 55 ++
 drm/nouveau/nvkm/subdev/pci/gf100.c   |  6 
 drm/nouveau/nvkm/subdev/pci/nv40.c|  6 
 drm/nouveau/nvkm/subdev/pci/nv50.c|  6 
 drm/nouveau/nvkm/subdev/pci/priv.h| 11 ++
 9 files changed, 159 insertions(+), 37 deletions(-)
 create mode 100644 drm/nouveau/nvkm/subdev/pci/g84.c

diff --git a/drm/nouveau/include/nvkm/subdev/pci.h 
b/drm/nouveau/include/nvkm/subdev/pci.h
index 5b3c054..ab79fd0 100644
--- a/drm/nouveau/include/nvkm/subdev/pci.h
+++ b/drm/nouveau/include/nvkm/subdev/pci.h
@@ -24,11 +24,15 @@ struct nvkm_pci {
 u32 nvkm_pci_rd32(struct nvkm_pci *, u16 addr);
 void nvkm_pci_wr08(struct nvkm_pci *, u16 addr, u8 data);
 void nvkm_pci_wr32(struct nvkm_pci *, u16 addr, u32 data);
+u32 nvkm_pci_mask(struct nvkm_pci *, u16 addr, u32 mask, u32 value);
 void nvkm_pci_rom_shadow(struct nvkm_pci *, bool shadow);
 
 int nv04_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
 int nv40_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
+int nv40_pci_new_g84_init(struct nvkm_device *, int, struct nvkm_pci **);
 int nv4c_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
 int nv50_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
+int nv50_pci_new_g84_init(struct nvkm_device *, int, struct nvkm_pci **);
 int gf100_pci_new(struct nvkm_device *, int, struct nvkm_pci **);
+int gf100_pci_new_g84_init(struct nvkm_device *, int, struct nvkm_pci **);
 #endif
diff --git a/drm/nouveau/nvkm/engine/device/base.c 
b/drm/nouveau/nvkm/engine/device/base.c
index acc2fe9..9b19b52 100644
--- a/drm/nouveau/nvkm/engine/device/base.c
+++ b/drm/nouveau/nvkm/engine/device/base.c
@@ -929,7 +929,7 @@ nv84_chipset = {
.mc = nv50_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv50_pci_new,
+   .pci = nv50_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -961,7 +961,7 @@ nv86_chipset = {
.mc = nv50_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv50_pci_new,
+   .pci = nv50_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -993,7 +993,7 @@ nv92_chipset = {
.mc = nv50_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv50_pci_new,
+   .pci = nv50_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -1025,7 +1025,7 @@ nv94_chipset = {
.mc = nv50_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv40_pci_new,
+   .pci = nv40_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -1057,7 +1057,7 @@ nv96_chipset = {
.mc = nv50_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv40_pci_new,
+   .pci = nv40_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -1089,7 +1089,7 @@ nv98_chipset = {
.mc = g98_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv40_pci_new,
+   .pci = nv40_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -1121,7 +1121,7 @@ nva0_chipset = {
.mc = g98_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv40_pci_new,
+   .pci = nv40_pci_new_g84_init,
.therm = g84_therm_new,
.timer = nv41_timer_new,
.volt = nv40_volt_new,
@@ -1153,7 +1153,7 @@ nva3_chipset = {
.mc = g98_mc_new,
.mmu = nv50_mmu_new,
.mxm = nv50_mxm_new,
-   .pci = nv40_pci_new,
+   .pci = nv40_pci_new_g84_init,
.pmu = gt215_pmu_new,
.therm = gt215_therm_new,
.timer = nv41_timer_new,
@@ -1187,7 +1187,7 @@ nva5_chipset = {
.mc = g98_mc_new,
.mmu

[Nouveau] [Bug 70354] [NVE6, NVE7] HUB_INIT timeout on graph init, blob fw doesn't help

2015-09-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=70354

--- Comment #64 from Ben Skeggs  ---
(In reply to Bozhan Boyadzhiev from comment #63)
> (In reply to Ben Skeggs from comment #62)
> > (In reply to Bozhan Boyadzhiev from comment #61)
> > > Created attachment 116853 [details]
> > > mmiotrace for GK107 ~39MB
> > > 
> > > mmiotrace for GK107
> > 
> > Heh, so much for GK107 not having PGOB... I'll ping NVIDIA on this one and
> > get back to you.  If I get time in the next few days, I'll hack you up a
> > patch.
> 
> i've erased the first letter on my keyboard with which begins the domain of
> my webmail to check if i have message from this bug :)))

My nouveau tree[1] has a couple of patches that will *hopefully* fix the issues
you're seeing.

[1] http://cgit.freedesktop.org/~darktama/nouveau/log/

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau