diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-04-05 16:22:21 +0900 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2022-04-05 18:23:05 +0200 |
commit | b2405aa948b95afc5246fa56fc05c3512cd6185c (patch) | |
tree | 4ea5a7f693605e2a267f65adef545282b332b60b /include/linux/firewire.h | |
parent | baa914cd81f51f4e4f3bae5bb59764b32ad8c353 (diff) |
firewire: add kernel API to access packet structure in request structure for AR context
In 1394 OHCI specification, descriptor of Asynchronous Receive DMA context
has timeStamp field in its trailer quadlet. The field is written by
the host controller for the time to receive asynchronous request
subaction in isochronous cycle time.
In Linux FireWire subsystem, the value of field is stored to fw_packet
structure and copied to fw_request structure as the part. The fw_request
structure is hidden from unit driver and passed as opaque pointer when
calling registered handler. It's inconvenient to the unit driver which
needs timestamp of packet.
This commit adds kernel API to pick up timestamp from opaque pointer to
fw_request structure.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20220405072221.226217-4-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/linux/firewire.h')
-rw-r--r-- | include/linux/firewire.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index 2f467c52bdec..980019053e54 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h @@ -354,6 +354,7 @@ void fw_core_remove_address_handler(struct fw_address_handler *handler); void fw_send_response(struct fw_card *card, struct fw_request *request, int rcode); int fw_get_request_speed(struct fw_request *request); +u32 fw_request_get_timestamp(const struct fw_request *request); void fw_send_request(struct fw_card *card, struct fw_transaction *t, int tcode, int destination_id, int generation, int speed, unsigned long long offset, void *payload, size_t length, |