]> git.baikalelectronics.ru Git - kernel.git/commit
firewire: add kernel API to access CYCLE_TIME register
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 5 Apr 2022 07:22:20 +0000 (16:22 +0900)
committerTakashi Iwai <tiwai@suse.de>
Tue, 5 Apr 2022 16:23:04 +0000 (18:23 +0200)
commit64645b8e74e69fc92ff7abb95e90b18c9638d95a
tree1280e121f94f0b86c18dc0062ab0cbdf77c9add4
parent2f0285f15745cbebf55e8b935131a2883905b48f
firewire: add kernel API to access CYCLE_TIME register

1394 OHCI specification defined Isochronous Cycle Timer Register to get
value of CYCLE_TIME register defined by IEEE 1394 for CSR architecture
defined by ISO/IEC 13213. Unit driver can calculate packet time by
compute with the value of CYCLE_TIME and timeStamp field in descriptor
of each isochronous and asynchronous context. The resolution of CYCLE_TIME
is 49.576 MHz, while the one of timeStamp is 8,000 Hz.

Current implementation of Linux FireWire subsystem allows the driver to
get the value of CYCLE_TIMER CSR register by transaction service. The
transaction service has overhead in regard of access to MMIO register.

This commit adds kernel API for unit driver to access the register
directly.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20220405072221.226217-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
drivers/firewire/core-card.c
drivers/firewire/core-cdev.c
include/linux/firewire.h