All of lore.kernel.org
 help / color / mirror / Atom feed
* IT821x driver
@ 2005-12-18 11:22 Kernel - Noah Blumenfeld
  2005-12-18 12:05 ` Alan Cox
  0 siblings, 1 reply; 2+ messages in thread
From: Kernel - Noah Blumenfeld @ 2005-12-18 11:22 UTC (permalink / raw)
  To: linux-kernel

Greetings..

I'm not 100% positive if this is the correct place to post about this 
driver, but seeing that it related to the kernel, I believe its related 
to this mailing list.

I've been running into many problems with the ITE 8212F chip, which is 
used as both an IDE controller and as a RAID controller (0, 1, and 1+0).

I've done the following - all with the same results:

-Downloaded Gentoo-sources (2.6.14-r5), configurated kernel with the 
it821x driver, and tried to enable dma.
-Downloaded a vanilla kernel 2.6.11 from www.kernel.org, and applied the 
ac7 patches, configurated and then tried to enable dma.

As far as I can tell - and from the information within the driver's file 
  /drivers/ide/pci/it821x.c - the current driver does not support mwdma 
or dma, only udma. It also says that if - and I quote Alan Cox -

"If you write LBA48 sized I/O's (ie > 256 sector) in smart mode raid 
then the controller firmware dies"

I recently brought it for $40 from compusa, and I'm sure this problem 
may come up more often soon.

It works fine in PIO mode, I've transmitted files to it via samba (I'm 
setting it up as a file server) - with a rate of about 2.378 MB/sec.

When I enable it in UDMA mode using hdparm -X64 -d1 /dev/hdc - or in ANY 
dma mode.. It will accept a certain amount of data before literally 
crapping its pants. As the quote above says, when LBA48 sized I/O's are 
written to the raid card, it will die. I'm using it as a RAID 0, so its 
in smart mode, and it will die when LBA48 sized I/O's are written to it.

My question is then, and if this doesnt belong here, please let me know.

Is there a way to restrict the size of the files being written by the 
kernel to a hardware device? I.e. make it so it will not write LBA48 
sized I/O's, but still work in UDMA mode - because not using DMA mode 
makes hard drive write painfully slow - and unsuitable for a network 
file server.

I've also tried compiling the SCSI driver given by the company - and the 
kernel doesnt even boot up with it. The only way I could boot up with 
the it821x driver is to configure the kernel not to enable DMA mode for 
hard drives by default.

If the chip was dying out (not being sold anymore) I wouldnt bring this 
up. But it appears it will be sold more.. And so this may become a 
problem further down the road. I'm considering taking Alan Cox's driver 
for it and modifying it. Several people reported that it worked great 
for through mode (using the chip as a IDE controller) - few kernel 
versions ago (2.6.9, 2.6.11) - thats why I downloaded 2.6.11 to patch 
with the AC7 patches and to test it. Didnt work in RAID mode.

Thanks you,
Noah Blumenfeld

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: IT821x driver
  2005-12-18 11:22 IT821x driver Kernel - Noah Blumenfeld
@ 2005-12-18 12:05 ` Alan Cox
  0 siblings, 0 replies; 2+ messages in thread
From: Alan Cox @ 2005-12-18 12:05 UTC (permalink / raw)
  To: Kernel - Noah Blumenfeld; +Cc: linux-kernel

On Sul, 2005-12-18 at 06:22 -0500, Kernel - Noah Blumenfeld wrote:
> As far as I can tell - and from the information within the driver's file 
>   /drivers/ide/pci/it821x.c - the current driver does not support mwdma 
> or dma, only udma. It also says that if - and I quote Alan Cox -

The 2.6.14 kernel has a version of the driver built in that should
support all modes properly. In hardware raid mode DMA mode selection is
handled by the controller and we actually don't deal with it.

In pass through/atapi supporting mode we handle the mode selection and
support MWDMA/UDMA. The chip is really designed to be best for UDMA (as
you'd expect) but does handle other modes.

> Is there a way to restrict the size of the files being written by the 
> kernel to a hardware device? I.e. make it so it will not write LBA48 


We do the following in init_hwif_it821x already

    if(conf & 1) {
                idev->smart = 1;
                hwif->atapi_dma = 0;
                /* Long I/O's although allowed in LBA48 space cause the
                   onboard firmware to enter the twighlight zone */
                hwif->rqsize = 256;
        }

So the driver should be doing this correctly. Also for DMA on the smart
mode, use hdparm -d1, but don't try and program the drives - that is
handled by the controller and that may be upsetting it. Let me know if
that helps.

If you are doing raid0 btw its faster in non-raid mode and using
software raid. In raid1 it seems to be faster to use the chip in smart
mode.

Alan


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-12-18 12:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-18 11:22 IT821x driver Kernel - Noah Blumenfeld
2005-12-18 12:05 ` Alan Cox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.