lkml.org 
[lkml]   [2007]   [Dec]   [30]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 30 Dec 2007 12:50:08 -0800
From"H. Peter Anvin" <>
SubjectRe: [PATCH] x86: provide a DMI based port 0x80 I/O delay override
Juergen Beisert wrote:
> On Sunday 30 December 2007 16:38, Alan Cox wrote:
>>> do you have any memories about the outb_p() use of misc_32.c:
>>>
>>>         pos = (x + cols * y) * 2;       /* Update cursor position */
>>>         outb_p(14, vidport);
>>>         outb_p(0xff & (pos >> 9), vidport+1);
>>>         outb_p(15, vidport);
>>>         outb_p(0xff & (pos >> 1), vidport+1);
>>>
>>> was this ever needed? This is so early in the bootup that can we cannot
>> None - but we don't care.
> 
> Was this embedded outb to 0x80 for delay only? Maybe I'm wrong. But in the 
> case above it forces the chipselect signal to deselect the hardware between 
> the access to vidport and vidport+1. Some devices need this to latch the 
> values correctly. Otherwise the chipselect signal would be active for all 
> four accesses in the example above (and only data and addresses are changing 
> from device's view).
> 

Presumably you're talking about an actual ISA bus here.  On those, you 
don't really have a chip select; but you'd expect the latch to happen on 
the rising edge of IOW#, not on an internally generated chip select.

Now, I think there is a specific reason to believe that EGA/VGA (but 
perhaps not CGA/MDA) didn't need these kinds of hacks: the video cards 
of the day was touched, directly, by an interminable number of DOS 
applications.  CGA/MDA generally *were not*, due to the unsynchronized 
memory of the original versions (writing could cause snow), so most 
applications tended to fall back to using the BIOS access methods for 
CGA and MDA.

	-hpa


\
 
 \ /
  Last update: 2007-12-30 21:55    [from the cache]
©2003-2008