Messages in this thread | | | Date | Sat, 01 Jul 2006 20:02:51 +0200 | From | Rafał Bilski <> | Subject | Re: [PATCH] (Longhaul 1/5) PCI: Protect bus master DMA from Longhaul by rw semaphores |
| |
> > That really is a rather horrible design on their part. Who the hell at > VIA thought this was a good idea? >
I have asked them. Answer is: support is in north/south bridge. This code works fine (of course "clear BM bit for each device" removed): [...] cx = &pr->power.states[ACPI_STATE_C3]; printk("Begin..\n"); /* Just to be sure */ preempt_disable(); local_irq_save(flags); [...] safe_halt(); /* Sync */
ACPI_FLUSH_CPU_CACHE();
wrmsrl(MSR_VIA_LONGHAUL, longhaul->val); /* Invoke C3 */ inb(cx->address); /* Dummy op - must do something useless after P_LVL3 read */ t2 = inl(acpi_fadt.xpm_tmr_blk.address);
local_irq_disable(); [...] printk("..End\n");
30 min "hdparm -t", frequency changes at 1s interval. CPU temperature is changing too. Checked in Bashmark.
THIS IS WORKING.
------------------------------------------------------------------------ Najkrótsza trasa na wakacje: http://map24.interia.pl
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |