On Fr, 2016-02-19 at 21:18 -0500, Kevin O'Connor wrote: > On Mon, Feb 15, 2016 at 12:00:48PM +0000, Zeh, Werner wrote: > > Hi Kevin. > > > > We had some issues with some connected AHCI devices in SeaBIOS. We > > have connected some CF-Cards by using a simple SATA<->IDE bridge to > > the mainboard and in some cases, the drive (which is the CF-card) > > was not recognized correctly. After some deeper analysis we found > > that SeaBIOS does not set up the transfer rate which is used to > > communicate to the drive. The supported transfer rate can be found > > in the data structure which is delivered by IDENTIFY_DEVICE command. > > > > So in our error cases the default transfer rate was too high and > > therefore data error has occurred. I have attached a patch which > > will deal with this case on AHCI controllers. Maybe you can push > > this patch to mainline or at least have a look at it. > > > > Up to now I have verified the function of this patch with the latest > > master branch of SeaBIOS and a Broadwell-DE CPU. I have used PIO4, > > default PIO, Multiword-DMA2 and several Ultra-DMA CF-cards to ensure > > that all three paths work properly. > > > > BTW: I am not that familiar with code style in SeaBIOS. If I made > > some formal mistakes, feel free to correct them. > > Thanks. I'm not that familiar with the AHCI internals. Gerd, would > you be able to review?
Patch looks good to me. Applied some tweaks, mostly cosmetically. The only functional change is that multi_dma and pio modes are checked even if the udma bit (bit 2 word 53) is set, just in case none of the bits in word 88 is set. Updated patch will go to the list in a moment. cheers, Gerd _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
