Re: [PATCH 8/10] libata: remove writing of tf->ctl from ata_tf_load()

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

 



Mark Lord wrote:
> Albert Lee wrote:
> 
>> Patch 8/10:
>>  
>> The relevant bits in the ctl register are HOB, SRST and nIEN.
>>  - HOB is only used by ata_tf_read().
>>  - For SRST, soft reset is not the duty of tf_load.
>>  - For nIEN, explicit irq_on()/irq_off and freeze()/thaw() are provided.
>>
>>   Since EH/HSM now call explicit freeze()/thaw() for irq off/on.
>> Remove the implicit nIEN handling from ata_tf_load().
> 
> 
> At some point soon, I hope to piece together enough old hardware here
> to reconnect my PCI-X sata_qstor card, and then fix the driver.
> 
> It needs to have control over the nIEN bit, and currently that bit
> is not behaving as it did way back in 2.6.11(?) when the driver was
> first added.
> 
> The qstor chip *requires* that nIEN be "1" during R/W commands.
> Is there a nice way to accomplish that here?
> 

Does it mean that during the execution of PIO R/W commands, no interrupt
will be generated? Currently the sata_qstor driver uses the
ATA_FLAG_PIO_POLLING flag, does such polling pio fulfill the need of
qstor? If not, maybe we could check what needs to be added and include
them into consideration.

Hmm, another consideration for qstor, irq_on/off do have their value for
nIEN manipulation. The patchset maybe too far in scope.  I will limit
the scope of the patchset and leave irq_on/off alone (rather than
integrate with thaw/freeze).

Thanks for the comments.
--
albert

-
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