Sent from my HTC -----Original Message----- From: Tejun Heo <tj@xxxxxxxxxx> Sent: 01 September 2010 1:52 PM To: Gwendal Grignou <gwendal@xxxxxxxxxx> Cc: jeff@xxxxxxxxxx <jeff@xxxxxxxxxx>; nicolas@xxxxxxxxxxx <nicolas@xxxxxxxxxxx>; linux-ide@xxxxxxxxxxxxxxx <linux-ide@xxxxxxxxxxxxxxx> Subject: Re: [PATCH] libata-sff: Reenable Port Multiplier after libata-sff remodeling. Hello, On 09/01/2010 01:17 AM, Gwendal Grignou wrote: > On Tue, Aug 31, 2010 at 1:04 AM, Tejun Heo <tj@xxxxxxxxxx> wrote: >> On 08/30/2010 07:17 PM, Gwendal Grignou wrote: >>> Keep track of the link on the which the current request is in progress. >>> It allows support of links behind port multiplier. >>> >>> Not all libata-sff is PMP compliant. Code for native BMDMA controller >>> does not take in accound PMP. >> >> Can you please elaborate a bit more on what broke and how this patch >> fixes the problem? > Before this patch, all libata-sff assumes the qc in progess is tied to > ap->link, the host port link. > That's fine as long as the controllers do not support port multiplier, > which is the case of all controller inheriting ata_sff_port_ops except > some controllers managed by sata_mv. > Also, before the libata-ssf reorg, it did not matter, qc was given the > sff task directly. > > However, sata_mv supports port multiplier and use part of libata-sff > to hanlde PIO commands to disks. qc sent to disk behind port > multiplier are tight to one of element pmp_link array. > Therefore, the part of libata-sff sata_mv exercises must be retrieve > qc from the provided link instead of ap->link. Heh, I meant to elaborate in the patch description. :-) Sorry about not being clearer. >> It would also be useful to have WARN/BUG_ON() to make sure no two >> links try to use pio_task at the same time. ie. Set >> ap->sff_pio_task_link here and clear it with NULL when done and make >> sure it's NULL before setting it. > > Add some WARN/BUG. I set link to NULL very early, I believe it is > cleaner than setting it in hsm_move() itself. > Patch after the break. Thanks. -- tejun -- 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 -- 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