Re: [PATCH] Add hook for custom xfer function in PATA Platform driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 13/05/10 06:58, Sergei Shtylyov wrote:
> Hello.
> 
> Robert Hancock wrote:
>> On 05/10/2010 03:51 AM, Sergei Shtylyov wrote:
>>> Hello.
>>>
>>> Graeme Russ wrote:
>>>
>>>> Sergei Shtylyov wrote:
>>>>> Hello.
>>>>>
>>>>> Graeme Russ wrote:
>>>>>
>>>>>> [Added linux-ide back onto distribution list]
>>>>> Right, I didn't intend to exclude it -- probably didn't press all the
>>>>> keys at once for the reply-to-all function.
>>>>>
>>>>> [...]
>>>>>>> You should have also taught the symmetric ide-platfrom driver the
>>>>>>> same
>>>>>>> trick. However, IDE core's data transfer methods has a different
>>>>>>> prototype.
>>
>> The IDE subsystem is deprecated and in maintenance mode,
> 
>   I know, I know. :-)
> 
>> it shouldn't be growing support for new hardware, which I assume this is.
> 
>   This is not a new hardware as it's going to use an existing driver.

Correct - it is a direct attachment of a CF card onto an 8-bit data bus

> Also, despite maintenance mode, there was a patch accepted recently
> restoring feature parity between ide-platfrom and pata_platfrom.
> 

>>>>>> I did think about the other drivers (OF Platform etc) but I have
>>>>>> no way of testing them.
>>>>> pata_of_platform is not easily extensible in this way. It gets all the
>>>>> information about the device from the device tree -- and you can't
>>>>> encode all your complications there, unless you invent a new OF
>>>>> device.
> 
>   Besides, Graeme, for what arch is your hardware? If it's PowerPC, you
> should be using pata_of_platform -- but as I said you can't really do it.
> 

This is for an embedded x86 solutions (AMD SC520). Note: By embedded I
really do mean embedded, not mini-PC or the like (i.e. no BIOS)

[snip]

>> I think there's a case to be made for doing some refactoring to allow
>> splitting the code related to this hardware into a different file or
>> something. However, creating an entirely different driver when the
>> only thing different from pata_platform is that function seems excessive.
> 

I agree - It is a pretty poor driver architecture that requires an entirely
new driver for the sake of <10% change in functionality. I would agree that
if a driver has override hooks for over 50% of its functions and you are
using all of those hooks then perhaps a dedicated driver is the way to go,
but adding a 8-bit versus 16-bit access hook is probably the most trivial
and fundamental hook you could add to a device driver (even more
fundamental than the existing byte stuffing hook IMHO)

>    You propose something like pata_of_platform (riding on top of
> pata_platform)? Anyway, I suspect that we have fully programmable bus
> hardware here, which should allow for PIO mode setting, and hence woud
> really need a whole new driver...

Yes, the bus timing is fully programmable - It allows the insertion of an
integer number of 33MHz bus cycles into various stages of the bus access.

I don't really care for changing bus timings wrt PIO mode supported by the
CF card. It is not a really high speed CPU (486 DX4100 equivalent) so
supporting high speed data transfers without DMA is a bit pointless. The
only timing switch I care for is 'Accessing CF / Not Accessing CF' which
has a timing difference of 5 or so bus cycles.

And truthfully, I don't even think I need to mutex the bus - The other
devices can use the bus using the slower timings anyway so it does not
really matter if a context switch occurs during the CF read/write in order
to access another device

Regards,

Graeme
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux