static
void __init handle_chipset(void)
{
+ struct pci_dev *dev = NULL;
+
/* Just in case some nut set this to something dangerous */
if (triton1)
triton1 = ZORAN_VDC_TRICOM;
- if (pci_pci_problems & PCIPCI_TRITON) {
+ while ((dev = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, dev)))
+ {
printk(KERN_INFO "zoran: Host bridge 82437FX Triton PIIX\n");
triton1 = ZORAN_VDC_TRICOM;
}
* be sure its safe to free the buffer. We wait 5-6 fields
* which is more than sufficient to be sure.
*/
- msleep(100); /* Wait 1/10th of a second */
+ current->state = TASK_UNINTERRUPTIBLE;
+ schedule_timeout(HZ/10); /* Wait 1/10th of a second */
/* free the allocated framebuffer */
if (ztv->fbuffer)
/* start mapping the whole shabang to user memory */
pos = (unsigned long)ztv->fbuffer;
- while (size>0) {
- unsigned long pfn = virt_to_phys((void*)pos) >> PAGE_SHIFT;
- if (remap_pfn_range(vma, start, pfn, PAGE_SIZE, PAGE_SHARED))
+ while (size > 0) {
+ unsigned long page = virt_to_phys((void*)pos);
+ if (remap_page_range(vma, start, page, PAGE_SIZE, PAGE_SHARED))
return -EAGAIN;
start += PAGE_SIZE;
pos += PAGE_SIZE;
* be sure its safe to free the buffer. We wait 5-6 fields
* which is more than sufficient to be sure.
*/
- msleep(100); /* Wait 1/10th of a second */
+ current->state = TASK_UNINTERRUPTIBLE;
+ schedule_timeout(HZ/10); /* Wait 1/10th of a second */
for (item=ztv->readinfo; item!=ztv->readinfo+ZORAN_VBI_BUFFERS; item++)
{