[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F2FE8DA.70502@bootc.net>
Date: Mon, 06 Feb 2012 14:51:06 +0000
From: Chris Boot <bootc@...tc.net>
To: Clemens Ladisch <clemens@...isch.de>
CC: target-devel@...r.kernel.org,
linux1394-devel@...ts.sourceforge.net,
Boaz Harrosh <bharrosh@...asas.com>,
Stefan Richter <stefanr@...6.in-berlin.de>,
Andy Grover <agrover@...hat.com>, linux-scsi@...r.kernel.org,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: FireWire/SBP2 Target mode
On 06/02/2012 14:43, Clemens Ladisch wrote:
> Chris Boot wrote:
>> You can pull the code from:
>> git://github.com/bootc/Linux-SBP-2-Target.git
>
> The TODO file says:
>> * Update Juju so we can get the speed in the fw_address_handler callback
>
> What is the speed needed for?
"The speed at which the block write request to the MANAGEMENT_AGENT
register is received shall determine the speed used by the target for
all subsequent requests to read the initiator’s configuration ROM, fetch
ORB’s from initiator memory or store status at the initiator’s
status_FIFO. Command block ORB’s separately specify the speed for
requests addressed to the data buffer or page table."
(T10/1155D Revision 4 page 53/54)
> SBP-2 says:
> | The target shall issue data transfer requests with a speed equal to
> | that specified by the spd field in the ORB.
>
> SBP-3 says:
> | The target shall issue data transfer requests with a speed equal to
> | that specified by the controlling spd field, whether in the ORB or in
> | a node selector in an associated page table.
>> Please note that you can't then disable a unit until all the targets
>> are logged-out. For Linux this usually means 'rmmod firewire_sbp2'.
>
> That driver should not, by default, log into targets on its own node.
It still tries to and never appears to give up, so this needs
blacklisting on the target system until firewire_sbp2 is changed. It's
harmless other than filling up the kernel log with error messages.
What I meant, however, is if you connect to the target from a separate
Linux system you will be unable to disable the unit on the target system
until the _initiator_ logs out. You can do this on the initiator by
unloading the module, which sends a logout request to the target.
HTH,
Chris
--
Chris Boot
bootc@...tc.net
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists