PREP Hardware goes IDE again

VALETTE Eric valette at crf.canon.fr
Fri Dec 11 22:26:55 EST 1998


>>>>> "Alois" == Alois Fertl <alois_fertl at muenchen.europe.mcd.mot.com> writes:

eric> Unfortunately, nearly all the change you have proposed are either
eric> irrelevant for MCP750 or worse will cause it to not function.

Alois> OK may be it helps others which have to fiddle around with older 
Alois> systems.

I hope you did not misunderstood what I said : it great to have patch 
that makes other machines work. Just wanted to say to it will break
the MCP750 with explanation and maybe other machines with the raven 
(as it is capable of byte swapping things that come directly from 
PCI bus)...

eric> This is true only if you do not try to use the "full native PCI mode".
eric> In that case you should not look at IDE assigned value in the PCB
eric> but at the PCI interrupt line. This is what happens on MCP750 as
eric> the code automatically switch the driver to "full native PCI mode".

Alois> I agree. The same is true for the WINBOND chip which is handled as
Alois> sl82c105 by linux.

Is the patch for byte swapping also needed when you use the full 
"native PCI mode"?

Alois> The second problem was that the partition table of a DOS IDE drive
Alois> was not recognized unless I specified hda=swapdata at the boot prompt.

I understand that you created the dos partition table on another machine.
I used cfdisk directly on linux to partition the drive. This may makes the
difference.

Alois> IDE CD-Rom drives were not recognized at all. All the required coding
Alois> to operate IDE devices correctly is already there but it is not used
Alois> for PREP hardware. I changed ide.h so that PREP is handled the same
Alois> way as CHRP. This makes IDE disks and CD-roms work without the need
Alois> to specify boot options.

eric> This breaks the MCP750. I tried the patch below, and was not detecting the disk
eric> correctly : everything was incorrectly swapped (including the name of the disk).
eric> My mcp750 system will run correctly *only* if this patch is not included...
eric> 

Alois> static __inline__ void ide_fix_driveid (struct hd_driveid *id) {
Alois> -	if (( _machine == _MACH_Pmac ) || (_machine == _MACH_chrp)|| (_machine == _MACH_mbx) ) {
Alois> +	if (( _machine == _MACH_Pmac ) || (_machine == _MACH_chrp)|| (_machine == _MACH_mbx) || (_machine == _MACH_prep) ) {

Alois> Sorry for that. But at least good to know. The seems to be something
Alois> different between the VIA chip or driver and the NS PC87303 resp. the 
Alois> SL82C105 which work fine for me.


I'm not agains integration of your patch anyway :) I would rather prefer
to have something that works in both case and at leat to understand why we
do not require the same byte swapping options as we are both running in the 
same endian mode.  This may be related to raven capability of byte swapping 
informations that comes from the PCI bus automatically.

eric> I do not find anything in the doc.
Alois> This is typically done via the PCI to ISA bridge. I guess you find the 
Alois> answer in the data sheet for the VIA chip. You can find it on 
Alois>    http://www.via.com.tw/support/datasheets.htm

Thanks. In fact I found the info since the request IN THE VIA CHIPSET DOC
as you mentionned. It may help other...

Have a nice day,

--
   __                 
  /  `                   	Eric Valette
 /--   __  o _.          	Canon CRF
(___, / (_(_(__         	Rue de la touche lambert
				35517 Cesson-Sevigne  Cedex
				FRANCE
Tel: +33 (0)2 99 87 68 91	Fax: +33 (0)2 99 84 11 30
E-mail: valette at crf.canon.fr

[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request at lists.linuxppc.org ]]




More information about the Linuxppc-dev mailing list