[v3,00/12] firewire: deliver hardware time stamp for asynchronous transaction

Message ID 20230529113406.986289-1-o-takashi@sakamocchi.jp
Headers
Series firewire: deliver hardware time stamp for asynchronous transaction |

Message

Takashi Sakamoto May 29, 2023, 11:33 a.m. UTC
  Cc: kunit-dev@googlegroups.com

Hi,

This patchset is revised version of the previous one[1], I realized that
it included wrong version number of Linux kernel. The new series
includes changes just for it.


Copied from the initial cover letter:

1394 OHCI hardware supports hardware time stamp for asynchronous
communication at 8,000 Hz resolution (= isochronous cycle), while
current implementation of FireWire subsystem does not deliver the time
stamp to both unit driver and user space application when operating the
asynchronous communication. It is inconvenient to a kind of application
which attempts to synchronize data from multiple sources by the (coarse)
time stamp.

This patchset changes the subsystem so that the unit driver and the user
space application to receive the time stamp, therefore it affects kernel
service for asynchronous transaction, kernel API for unit driver, and UAPI
for user space application.

[1] https://lore.kernel.org/lkml/20230525101625.888906-1-o-takashi@sakamocchi.jp/

Takashi Sakamoto (12):
  firewire: add KUnit test to check layout of UAPI structures
  firewire: cdev: add new version of ABI to notify time stamp at
    request/response subaction of transaction
  firewire: cdev: add new event to notify request subaction with time
    stamp
  firewire: cdev: implement new event to notify request subaction with
    time stamp
  firewire: core: use union for callback of transaction completion
  firewire: core: implement variations to send request and wait for
    response with time stamp
  firewire: cdev: code refactoring to operate event of response
  firewire: cdev: add new event to notify response subaction with time
    stamp
  firewire: cdev: implement new event to notify response subaction with
    time stamp
  firewire: cdev: code refactoring to dispatch event for phy packet
  firewire: cdev: add new event to notify phy packet with time stamp
  firewire: cdev: implement new event relevant to phy packet with time
    stamp

 drivers/firewire/.kunitconfig       |   4 +
 drivers/firewire/Kconfig            |  16 ++
 drivers/firewire/Makefile           |   3 +
 drivers/firewire/core-cdev.c        | 252 +++++++++++++++++++++-------
 drivers/firewire/core-transaction.c |  93 +++++++---
 drivers/firewire/core.h             |   7 +
 drivers/firewire/ohci.c             |  17 +-
 drivers/firewire/uapi-test.c        |  87 ++++++++++
 include/linux/firewire.h            |  82 ++++++++-
 include/uapi/linux/firewire-cdev.h  | 180 +++++++++++++++++---
 10 files changed, 625 insertions(+), 116 deletions(-)
 create mode 100644 drivers/firewire/.kunitconfig
 create mode 100644 drivers/firewire/uapi-test.c
  

Comments

Takashi Sakamoto May 29, 2023, 11:15 p.m. UTC | #1
On Mon, May 29, 2023 at 08:33:54PM +0900, Takashi Sakamoto wrote:
> Cc: kunit-dev@googlegroups.com
> 
> Hi,
> 
> This patchset is revised version of the previous one[1], I realized that
> it included wrong version number of Linux kernel. The new series
> includes changes just for it.
> 
> 
> Copied from the initial cover letter:
> 
> 1394 OHCI hardware supports hardware time stamp for asynchronous
> communication at 8,000 Hz resolution (= isochronous cycle), while
> current implementation of FireWire subsystem does not deliver the time
> stamp to both unit driver and user space application when operating the
> asynchronous communication. It is inconvenient to a kind of application
> which attempts to synchronize data from multiple sources by the (coarse)
> time stamp.
> 
> This patchset changes the subsystem so that the unit driver and the user
> space application to receive the time stamp, therefore it affects kernel
> service for asynchronous transaction, kernel API for unit driver, and UAPI
> for user space application.
> 
> [1] https://lore.kernel.org/lkml/20230525101625.888906-1-o-takashi@sakamocchi.jp/
> 
> Takashi Sakamoto (12):
>   firewire: add KUnit test to check layout of UAPI structures
>   firewire: cdev: add new version of ABI to notify time stamp at
>     request/response subaction of transaction
>   firewire: cdev: add new event to notify request subaction with time
>     stamp
>   firewire: cdev: implement new event to notify request subaction with
>     time stamp
>   firewire: core: use union for callback of transaction completion
>   firewire: core: implement variations to send request and wait for
>     response with time stamp
>   firewire: cdev: code refactoring to operate event of response
>   firewire: cdev: add new event to notify response subaction with time
>     stamp
>   firewire: cdev: implement new event to notify response subaction with
>     time stamp
>   firewire: cdev: code refactoring to dispatch event for phy packet
>   firewire: cdev: add new event to notify phy packet with time stamp
>   firewire: cdev: implement new event relevant to phy packet with time
>     stamp
> 
>  drivers/firewire/.kunitconfig       |   4 +
>  drivers/firewire/Kconfig            |  16 ++
>  drivers/firewire/Makefile           |   3 +
>  drivers/firewire/core-cdev.c        | 252 +++++++++++++++++++++-------
>  drivers/firewire/core-transaction.c |  93 +++++++---
>  drivers/firewire/core.h             |   7 +
>  drivers/firewire/ohci.c             |  17 +-
>  drivers/firewire/uapi-test.c        |  87 ++++++++++
>  include/linux/firewire.h            |  82 ++++++++-
>  include/uapi/linux/firewire-cdev.h  | 180 +++++++++++++++++---
>  10 files changed, 625 insertions(+), 116 deletions(-)
>  create mode 100644 drivers/firewire/.kunitconfig
>  create mode 100644 drivers/firewire/uapi-test.c

Applied to for-next branch.

* https://git.kernel.org/ieee1394/linux1394/c/fe971f9163b6


Thanks

Takashi Sakamoto