Re: [PATCH] drivers/ide: PATA driver for Celleb

2 messages, 2 authors, 2006-11-21 · open the first message on its own page

Re: [PATCH] drivers/ide: PATA driver for Celleb

From: Tejun Heo <hidden>
Date: 2006-11-21 10:07:26

Akira Iguchi wrote:
Dear everyone,

This is the patch (based on 2.6.19-rc4) for PATA controller of
Toshiba Cell reference set(Celleb). The reference set consists
of Cell, 512MB memory, Super Companion Chip(SCC) and some
peripherals such as HDD, GbE, etc. You can see brief explanation
and picture of Cell reference set at following URLs.

    http://www.toshiba.co.jp/about/press/2005_09/pr2001.htm
    http://cell-industries.com/toshiba_announces.php

We use a drivers/ide driver because its design is more suitable for
SCC IDE controller than libata driver. Since SCC supports only 32bit
read/write, we must override many callbacks of ata_port_operations
by modifying generic helpers. Each time the libata common code is
updated, we must update those modified helpers. It is very hard for us.
But we will try to implement the libata driver as needed.

This patch set is intended to be merged to 2.6.20.
If you have any comment, please write to me.
Care to post libata version (even if it's not complete)?  Let's work something out.

-- 
tejun

Re: [PATCH] drivers/ide: PATA driver for Celleb

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-11-21 11:02:00

quoted
We use a drivers/ide driver because its design is more suitable for
SCC IDE controller than libata driver. Since SCC supports only 32bit
read/write, we must override many callbacks of ata_port_operations
by modifying generic helpers. Each time the libata common code is
updated, we must update those modified helpers. It is very hard for us.
But we will try to implement the libata driver as needed.

This patch set is intended to be merged to 2.6.20.
If you have any comment, please write to me.
Care to post libata version (even if it's not complete)?  Let's work 
something out.
The main problem is error handling / reset code.

With the current libata, basically, you can only override the whole
thing pretty much at the toplevel. The problem is with things like
ata_std_prereset, ata_std_softreset and ata_std_postreset and callees.

We can either comletely re-implement them but that seems fairly dodgy to
me, or find a way to add hooks. At the end of the day, all they need is:

 - write to the control register
 - read & write of nsect_addr & lbal_addr

I wonder how much of these could be replaced by either a hook, or
taskfile accessors (possibly with a special flag).

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help