[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#383481: supporting evidence to claim



Let's take a quick look in
linux-2.6/drivers/video/nvidia/nv_hw.c:NvLoadStateExt(), shall we?

{...}
        if (par->Architecture >= NV_ARCH_40) {
                NV_WR32(par->PRAMIN, 0x0000 * 4, 0x80000010);
                NV_WR32(par->PRAMIN, 0x0001 * 4, 0x00101202);
                NV_WR32(par->PRAMIN, 0x0002 * 4, 0x80000011);
                NV_WR32(par->PRAMIN, 0x0003 * 4, 0x00101204);
                NV_WR32(par->PRAMIN, 0x0004 * 4, 0x80000012);
                NV_WR32(par->PRAMIN, 0x0005 * 4, 0x00101206);
                NV_WR32(par->PRAMIN, 0x0006 * 4, 0x80000013);
                NV_WR32(par->PRAMIN, 0x0007 * 4, 0x00101208);
                NV_WR32(par->PRAMIN, 0x0008 * 4, 0x80000014);
                NV_WR32(par->PRAMIN, 0x0009 * 4, 0x0010120A);
                NV_WR32(par->PRAMIN, 0x000A * 4, 0x80000015);
                NV_WR32(par->PRAMIN, 0x000B * 4, 0x0010120C);
                NV_WR32(par->PRAMIN, 0x000C * 4, 0x80000016);
                NV_WR32(par->PRAMIN, 0x000D * 4, 0x0010120E);
                NV_WR32(par->PRAMIN, 0x000E * 4, 0x80000017);
                NV_WR32(par->PRAMIN, 0x000F * 4, 0x00101210);
                NV_WR32(par->PRAMIN, 0x0800 * 4, 0x00003000);
                NV_WR32(par->PRAMIN, 0x0801 * 4, par->FbMapSize - 1);
                NV_WR32(par->PRAMIN, 0x0802 * 4, 0x00000002);
                NV_WR32(par->PRAMIN, 0x0808 * 4, 0x02080062);
                NV_WR32(par->PRAMIN, 0x0809 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x080A * 4, 0x00001200);
                NV_WR32(par->PRAMIN, 0x080B * 4, 0x00001200);
                NV_WR32(par->PRAMIN, 0x080C * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x080D * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0810 * 4, 0x02080043);
                NV_WR32(par->PRAMIN, 0x0811 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0812 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0813 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0814 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0815 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0818 * 4, 0x02080044);
                NV_WR32(par->PRAMIN, 0x0819 * 4, 0x02000000);
                NV_WR32(par->PRAMIN, 0x081A * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x081B * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x081C * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x081D * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0820 * 4, 0x02080019);
                NV_WR32(par->PRAMIN, 0x0821 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0822 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0823 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0824 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0825 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0828 * 4, 0x020A005C);
                NV_WR32(par->PRAMIN, 0x0829 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x082A * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x082B * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x082C * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x082D * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0830 * 4, 0x0208009F);
                NV_WR32(par->PRAMIN, 0x0831 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0832 * 4, 0x00001200);
                NV_WR32(par->PRAMIN, 0x0833 * 4, 0x00001200);
                NV_WR32(par->PRAMIN, 0x0834 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0835 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0838 * 4, 0x0208004A);
                NV_WR32(par->PRAMIN, 0x0839 * 4, 0x02000000);
                NV_WR32(par->PRAMIN, 0x083A * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x083B * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x083C * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x083D * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0840 * 4, 0x02080077);
                NV_WR32(par->PRAMIN, 0x0841 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0842 * 4, 0x00001200);
                NV_WR32(par->PRAMIN, 0x0843 * 4, 0x00001200);
                NV_WR32(par->PRAMIN, 0x0844 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x0845 * 4, 0x00000000);
                NV_WR32(par->PRAMIN, 0x084C * 4, 0x00003002);
                NV_WR32(par->PRAMIN, 0x084D * 4, 0x00007FFF);
                NV_WR32(par->PRAMIN, 0x084E * 4,
                        par->FbUsableSize | 0x00000002);
{...}

Wow. Looks a lot like copying register bank settings. Much like
the drivers listed in Bug#383403.

Enjoy.



Reply to: