Re: RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops



modern CPU compared to the bus. But the delay really needs to be something
that is about IO port speed. Ok in theory you could try to measure
a outb using RDTSC and then use udelay, but first you would need

You don't need to. Port 0x80 historically is about 8uS so just udelay(8)
and make sure the initial default delay is conservative enough before the
CPU speed is computed.

0x80 should be fine for anything PC compatible anyway, its specifically
reserved as a debug port and supported for *exactly* that purpose by
many chipsets.

The afflicted laptop should really be taken up with the vendor. If its
got port 0x80 wrong gods knows what else it might have problems with.

Alan
--
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/



Relevant Pages

  • Re: GetTickCount() performance
    ... > HAL reads the motherboard countdown timer registers, ... It uses AT-Timer and it is a hughe function ... Timer at (port 0C74/0C76) and it is ahughe function ... Either rdtsc or AT-Timer ...
    (microsoft.public.win32.programmer.kernel)
  • Perl interface to direct port I/O functions (inb(), outb() and friends)
    ... the inb() and outb() functions. ... systems you may have to use iopermto get access to a port, ... but no general interface to inband outband equivalents (it could ...
    (comp.lang.perl.modules)
  • Re: [PATCH] x86: provide a DMI based port 0x80 I/O delay override
    ... It's not a regression as far as I can see (ie we've always done that port 80 access for slow-down), and quite frankly, I think the code is horribly ugly. ... a udelayis going to satisfy the delay property though -- but doesn't do anything for the other things the outb() does. ... With an arch that purports to support just about anything though there's some fairly justified fear, uncertainty, doubt that the ones to break aren't going to be found and reported quickly/easily. ... With the various races in drivers additionally an early suggestion by Andi Kleen to leave the outb in place for a DMI year X might in fact be justified. ...
    (Linux-Kernel)
  • Re: [PATCH 15/15] Revert "x86: default to reboot via ACPI"
    ... outb to port 0x92. ... With the right bit set you can trigger ... a toggle of the reset line on many motherboards. ...
    (Linux-Kernel)
  • [patch 03/10] parport: ieee1284 fixes and cleanups
    ... Daisy chain end detection failed at least with older daisy chain ... static int assign_addrs (struct parport *port) ... parport_write_data; udelay; ...
    (Linux-Kernel)

Quantcast