Re: Regression: drm/nouveau/clk: implement power state and engineclock control in core (7c856522069755ab9d163a24ac332cd3cb35fe30) breaksGeForce 9400 on Intel Mac Mini Model November 2010 model

From: Ilia Mirkin
Date: Fri Dec 06 2013 - 08:38:35 EST


On Fri, Dec 6, 2013 at 8:30 AM, Thomas Glanzmann <thomas@xxxxxxxxxxxx> wrote:
> Hello Ilia,
>
>> > [ 7.569394] nouveau [ DEVICE][0000:02:00.0] BOOT0 : 0x0ac080b1
>> > [ 7.569460] nouveau [ DEVICE][0000:02:00.0] Chipset: MCP79/MCP7A (NVAC)
>> > [ 7.569530] nouveau [ DEVICE][0000:02:00.0] Family : NV50
>> > [ 7.571151] nouveau [ VBIOS][0000:02:00.0] checking PRAMIN for image...
>> > [ 7.633082] nouveau [ VBIOS][0000:02:00.0] ... appears to be valid
>> > [ 7.633155] nouveau [ VBIOS][0000:02:00.0] using image from PRAMIN
>> > [ 7.633468] nouveau [ VBIOS][0000:02:00.0] BIT signature found
>> > [ 7.633533] nouveau [ VBIOS][0000:02:00.0] version 62.79.4e.00.01
>> > [ 7.654309] nouveau [ PMC][0000:02:00.0] MSI interrupts enabled
>> > [ 7.654417] nouveau [ PFB][0000:02:00.0] RAM type: stolen system memory
>> > [ 7.654481] nouveau [ PFB][0000:02:00.0] RAM size: 256 MiB
>> > [ 7.654546] nouveau [ PFB][0000:02:00.0] ZCOMP: 0 tags
>> > [ 7.687282] nouveau [ PTHERM][0000:02:00.0] FAN control: none / external
>> > [ 7.687366] nouveau [ PTHERM][0000:02:00.0] fan management: automatic
>> > [ 7.687429] nouveau [ PTHERM][0000:02:00.0] internal sensor: yes
>> > [ 7.687500] nouveau [ CLK][0000:02:00.0] 03: core 150 MHz shader 300 MHz
>> > [ 7.687575] nouveau [ CLK][0000:02:00.0] 05: core 150 MHz shader 300 MHz
>> > [ 7.687648] nouveau [ CLK][0000:02:00.0] 0e: core 350 MHz shader 800 MHz
>> > [ 7.687721] nouveau [ CLK][0000:02:00.0] 0f: core 450 MHz shader 1100 MHz
>> > [ 7.687806] nouveau E[ CLK][0000:02:00.0] 17 freq unknown
>> > [ 7.687867] nouveau E[ CLK][0000:02:00.0] init failed, -22
>
>> http://lists.freedesktop.org/archives/nouveau/2013-December/015304.html
>
> thank you. I tried to cherry pick this patch on top of Linux tip, but
> was not able to:
>
> CC [M] drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.o
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:478:8: error: redefinition of 'struct nvaa_clock_priv'

Something very funny happened. Are you sure you applied the patch
correctly? The file should only be 445 lines long, I'm guessing you
double-applied it?

> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:33:8: note: originally defined here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:488:1: error: redefinition of 'read_div'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:43:1: note: previous definition of 'read_div' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:494:1: error: redefinition of 'read_pll'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:49:1: note: previous definition of 'read_pll' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:525:1: error: redefinition of 'nvaa_clock_read'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:80:1: note: previous definition of 'nvaa_clock_read' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:607:1: error: conflicting types for 'calc_pll'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:162:1: note: previous definition of 'calc_pll' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:628:1: error: redefinition of 'calc_P'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:183:1: note: previous definition of 'calc_P' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:646:1: error: redefinition of 'nvaa_clock_calc'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:201:1: note: previous definition of 'nvaa_clock_calc' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:744:1: error: redefinition of 'nvaa_clock_prog'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:299:1: note: previous definition of 'nvaa_clock_prog' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:847:1: error: redefinition of 'nvaa_clock_tidy'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:402:1: note: previous definition of 'nvaa_clock_tidy' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:852:1: error: redefinition of 'nvaa_domains'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:407:1: note: previous definition of 'nvaa_domains' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:862:1: error: redefinition of 'nvaa_clock_ctor'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:417:1: note: previous definition of 'nvaa_clock_ctor' was here
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:882:1: error: redefinition of 'nvaa_clock_oclass'
> drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c:437:1: note: previous definition of 'nvaa_clock_oclass' was here
> make[4]: *** [drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.o] Error 1
> make[3]: *** [drivers/gpu/drm/nouveau] Error 2
> make[2]: *** [drivers/gpu/drm] Error 2
> make[1]: *** [drivers/gpu] Error 2
> make: *** [drivers] Error 2
>
> Probably I'm missing a dependency.
>
> Than I checked out drm-nouveau-next of
> git://anongit.freedesktop.org/nouveau/linux-2.6 and tried again. This time it

It's in Dave Airlie's drm-fixes branch, which should get submitted to
3.13 at some point.

> worked. Thank you. Will the fix wander to upstream before v3.13?
> Otherwise I would appreciate a heads-up when it wanders upstream, so
> that I can test again.
>
> [ 7.964230] nouveau [ DEVICE][0000:02:00.0] BOOT0 : 0x0ac080b1
> [ 7.964232] nouveau [ DEVICE][0000:02:00.0] Chipset: MCP79/MCP7A (NVAC)
> [ 7.964233] nouveau [ DEVICE][0000:02:00.0] Family : NV50
> [ 7.965828] nouveau [ VBIOS][0000:02:00.0] checking PRAMIN for image...
> [ 8.027695] nouveau [ VBIOS][0000:02:00.0] ... appears to be valid
> [ 8.027769] nouveau [ VBIOS][0000:02:00.0] using image from PRAMIN
> [ 8.028070] nouveau [ VBIOS][0000:02:00.0] BIT signature found
> [ 8.028134] nouveau [ VBIOS][0000:02:00.0] version 62.79.4e.00.01
> [ 8.061976] nouveau [ PFB][0000:02:00.0] RAM type: stolen system memory
> [ 8.062051] nouveau [ PFB][0000:02:00.0] RAM size: 256 MiB
> [ 8.062122] nouveau [ PFB][0000:02:00.0] ZCOMP: 0 tags
> [ 8.086562] [TTM] Zone kernel: Available graphics memory: 1887908 kiB
> [ 8.086633] [TTM] Initializing pool allocator
> [ 8.086707] [TTM] Initializing DMA pool allocator
> [ 8.088703] nouveau [ DRM] VRAM: 256 MiB
> [ 8.088774] nouveau [ DRM] GART: 512 MiB
> [ 8.088843] nouveau [ DRM] BIT BIOS found
> [ 8.088902] nouveau [ DRM] Bios version 62.79.4e.00
> [ 8.088969] nouveau [ DRM] TMDS table version 2.0
> [ 8.089030] nouveau [ DRM] DCB version 4.0
> [ 8.089096] nouveau [ DRM] DCB outp 00: 02021286 0f220010
> [ 8.089157] nouveau [ DRM] DCB outp 01: 01000122 00000010
> [ 8.089222] nouveau [ DRM] DCB outp 02: 01000120 0000001e
> [ 8.089283] nouveau [ DRM] DCB outp 03: 02021232 00000010
> [ 8.089349] nouveau [ DRM] DCB conn 00: 00001020
> [ 8.089459] nouveau [ DRM] DCB conn 01: 0000a146
> [ 8.089565] nouveau [ DRM] DCB conn 02: 00005246
> [ 8.099341] nouveau W[ DRM] unknown connector type 20
> [ 8.100025] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> [ 8.100090] [drm] No driver support for vblank timestamp query.
> [ 8.300673] nouveau [ DRM] 4 available performance level(s)
> [ 8.300759] nouveau [ DRM] 0: core 150MHz shader 300MHz voltage 900mV fanspeed 100%
> [ 8.300839] nouveau [ DRM] 1: core 150MHz shader 300MHz voltage 900mV fanspeed 100%
> [ 8.300921] nouveau [ DRM] 2: core 350MHz shader 800MHz voltage 900mV fanspeed 100%
> [ 8.301001] nouveau [ DRM] 3: core 450MHz shader 1100MHz voltage 1010mV fanspeed 100%
> [ 8.301080] nouveau [ DRM] c:
> [ 8.325812] nouveau [ DRM] MM: using M2MF for buffer copies

This boot log is from a kernel that does not include any of nouveau's
v3.13 changes. (See how it says "performance levels", and it's printed
under [DRM]... the new kernel should say [CLK] and the output format
is different.)

-ilia
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/