|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4, v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3, v6.3-rc2, v6.3-rc1, v6.2, v6.2-rc8, v6.2-rc7, v6.2-rc6, v6.2-rc5, v6.2-rc4, v6.2-rc3, v6.2-rc2, v6.2-rc1, v6.1, v6.1-rc8, v6.1-rc7, v6.1-rc6, v6.1-rc5, v6.1-rc4, v6.1-rc3, v6.1-rc2, v6.1-rc1, v6.0, v6.0-rc7, v6.0-rc6, v6.0-rc5, v6.0-rc4, v6.0-rc3, v6.0-rc2, v6.0-rc1, v5.19, v5.19-rc8, v5.19-rc7, v5.19-rc6, v5.19-rc5, v5.19-rc4, v5.19-rc3, v5.19-rc2, v5.19-rc1, v5.18, v5.18-rc7, v5.18-rc6, v5.18-rc5, v5.18-rc4, v5.18-rc3, v5.18-rc2, v5.18-rc1, v5.17, v5.17-rc8, v5.17-rc7, v5.17-rc6, v5.17-rc5, v5.17-rc4, v5.17-rc3, v5.17-rc2, v5.17-rc1, v5.16, v5.16-rc8, v5.16-rc7, v5.16-rc6, v5.16-rc5, v5.16-rc4, v5.16-rc3, v5.16-rc2, v5.16-rc1, v5.15, v5.15-rc7, v5.15-rc6, v5.15-rc5, v5.15-rc4, v5.15-rc3, v5.15-rc2, v5.15-rc1, v5.14, v5.14-rc7, v5.14-rc6, v5.14-rc5, v5.14-rc4, v5.14-rc3, v5.14-rc2, v5.14-rc1, v5.13, v5.13-rc7, v5.13-rc6, v5.13-rc5, v5.13-rc4, v5.13-rc3, v5.13-rc2, v5.13-rc1, v5.12, v5.12-rc8, v5.12-rc7, v5.12-rc6, v5.12-rc5, v5.12-rc4, v5.12-rc3, v5.12-rc2, v5.12-rc1, v5.12-rc1-dontuse, v5.11, v5.11-rc7, v5.11-rc6, v5.11-rc5, v5.11-rc4, v5.11-rc3, v5.11-rc2, v5.11-rc1, v5.10, v5.10-rc7, v5.10-rc6, v5.10-rc5, v5.10-rc4, v5.10-rc3, v5.10-rc2, v5.10-rc1, v5.9, v5.9-rc8, v5.9-rc7, v5.9-rc6, v5.9-rc5, v5.9-rc4, v5.9-rc3, v5.9-rc2, v5.9-rc1, v5.8, v5.8-rc7 |
|
| #
892bb074 |
| 20-Jul-2020 |
Vaibhav Gupta <[email protected]> |
firewire: ohci: use generic power management
Drivers using legacy PM have to manage PCI states and device's PM states themselves. They also need to take care of configuration registers.
With improv
firewire: ohci: use generic power management
Drivers using legacy PM have to manage PCI states and device's PM states themselves. They also need to take care of configuration registers.
With improved and powerful support of generic PM, PCI Core takes care of above mentioned, device-independent, jobs.
This driver makes use of PCI helper functions like pci_save/restore_state(), pci_disable_device() and pci_set_power_state() to do required operations. In generic mode, they are no longer needed.
Change function parameter in both .suspend() and .resume() to "struct device*" type. Use to_pci_dev() to get "struct pci_dev*" variable.
Compile-tested only.
Maintainer has tested the changes on non-PowerPC platform and got no failure of the suspend/resume operations.
Signed-off-by: Vaibhav Gupta <[email protected]> Link: https://lore.kernel.org/r/[email protected] Tested-by: Takashi Sakamoto <[email protected]> Signed-off-by; Takashi Sakamoto <[email protected]<
show more ...
|
| #
b7688fcd |
| 28-Oct-2024 |
Philipp Stanner <[email protected]> |
firewire: ohci: Replace deprecated PCI functions
pcim_iomap_regions() and pcim_iomap_table() have been deprecated in commit e354bb84a4c1 ("PCI: Deprecate pcim_iomap_table(), pcim_iomap_regions_reque
firewire: ohci: Replace deprecated PCI functions
pcim_iomap_regions() and pcim_iomap_table() have been deprecated in commit e354bb84a4c1 ("PCI: Deprecate pcim_iomap_table(), pcim_iomap_regions_request_all()").
Replace these functions with pcim_iomap_region().
Signed-off-by: Philipp Stanner <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
8f04019d |
| 30-Sep-2024 |
Shen Lichuan <[email protected]> |
firewire: Correct some typos
Fixed some confusing typos that were currently identified with codespell, the details are as follows:
drivers/firewire/core-topology.c:59: containted ==> contained driv
firewire: Correct some typos
Fixed some confusing typos that were currently identified with codespell, the details are as follows:
drivers/firewire/core-topology.c:59: containted ==> contained drivers/firewire/core.h:83: reenable ==> re-enable drivers/firewire/ohci.c:1387: apppends ==> appends drivers/firewire/ohci.c:2216: superceded ==> superseded drivers/firewire/ohci.c:2617: litte ==> little
Signed-off-by: Shen Lichuan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
f1cba521 |
| 12-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core: rename cause flag of tracepoints event
The flag of FW_ISO_CONTEXT_COMPLETIONS_CAUSE_IRQ directly causes hardIRQ request by 1394 OHCI hardware when the corresponding isochronous packe
firewire: core: rename cause flag of tracepoints event
The flag of FW_ISO_CONTEXT_COMPLETIONS_CAUSE_IRQ directly causes hardIRQ request by 1394 OHCI hardware when the corresponding isochronous packet is transferred, however it is not so directly associated to hardIRQ processing itself.
This commit renames the flag so that it relates to interrupt parameter of internal packet data.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
5d567654 |
| 12-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core: add helper function to retire descriptors
Both IR/IT contexts use the same code to retire completed descriptors as AT context uses.
This commit adds a helper function to reduce the
firewire: core: add helper function to retire descriptors
Both IR/IT contexts use the same code to retire completed descriptors as AT context uses.
This commit adds a helper function to reduce the duplicated codes.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
6ffa9bd6 |
| 12-Sep-2024 |
Takashi Sakamoto <[email protected]> |
Revert "firewire: core: move workqueue handler from 1394 OHCI driver to core function"
This reverts commit 767bfb9ef27ebf760290d9f8bc303828b018c312. It appears that the call of ohci_flush_iso_comple
Revert "firewire: core: move workqueue handler from 1394 OHCI driver to core function"
This reverts commit 767bfb9ef27ebf760290d9f8bc303828b018c312. It appears that the call of ohci_flush_iso_completions() in the work item scheduled by hardIRQ of 1394 OHCI for any isochronous context changes the timing to queue events in the view of user space application.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
c45b9a07 |
| 12-Sep-2024 |
Takashi Sakamoto <[email protected]> |
Revert "firewire: core: use mutex to coordinate concurrent calls to flush completions"
This reverts commit d9605d67562505e27dcc0f71af418118d3db91e5, since this commit is on the following reverted ch
Revert "firewire: core: use mutex to coordinate concurrent calls to flush completions"
This reverts commit d9605d67562505e27dcc0f71af418118d3db91e5, since this commit is on the following reverted changes.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
f877f1d8 |
| 09-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core: use mutex to coordinate concurrent calls to flush completions
In current implementation, test_and_set_bit_lock() is used to mediate concurrent calls of ohci_flush_iso_completions().
firewire: core: use mutex to coordinate concurrent calls to flush completions
In current implementation, test_and_set_bit_lock() is used to mediate concurrent calls of ohci_flush_iso_completions(). However, the ad-hoc usage of atomic operations is not preferable.
This commit uses mutex_trylock() as the similar operations. The core function is responsible for the mediation, instead of 1394 OHCI driver.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
e97fb38f |
| 09-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core: move workqueue handler from 1394 OHCI driver to core function
In current implementation, the work item for isochronous context executes the same procedure of fw_iso_context_flush_com
firewire: core: move workqueue handler from 1394 OHCI driver to core function
In current implementation, the work item for isochronous context executes the same procedure of fw_iso_context_flush_completions() internally. There is a space to refactor the implementation.
This commit calls fw_iso_context_flush_completions() in the work item. It obsoletes fw_iso_context_init_work(). It also obsoletes a pair of disable_work_sync() and enable_work() since the usage of test_and_set_bit_lock() mediates concurrent call already.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
446216bd |
| 08-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core: expose kernel API to schedule work item to process isochronous context
In packet-per-buffer mode for isochronous context of 1394 OHCI, software can schedule hardIRQ to the buffer in
firewire: core: expose kernel API to schedule work item to process isochronous context
In packet-per-buffer mode for isochronous context of 1394 OHCI, software can schedule hardIRQ to the buffer in which the content of isochronous packet is processed. The actual behaviour is different between isochronous receive (IR) and transmit (IT) contexts in respect to isochronous cycle in which the hardIRQ occurs.
In IR context, the hardIRQ occurs when the buffer is filled actually by the content of received packet. If there are any isochronous cycles in which the packet transmission is skipped, it is postponed to generate the hardIRQ in respect to the isochronous cycle. In IT context, software can schedule the content of packet every isochronous cycle including skipping, therefore the hardIRQ occurs in the isochronous cycle to which the software scheduled.
ALSA firewire stack uses the packet-per-buffer mode for both IR/IT contexts. To process time stamp per packet (or per sample in some cases) steadily for media clock recovery against unexpected transmission skips, it uses an IT context to operate all of isochronous contexts by calls of fw_iso_context_flush_completions() in the bottom-half of hardIRQ for the IT context.
Although it looks well to handle all of isochronous contexts in a single bottom-half context, it relatively takes longer time. In the future code integration (not yet), it is possible to apply parallelism method to process these context. In the case, it is useful to allow unit drivers to schedule work items to process these isochronous contexts.
As a preparation, this commit exposes fw_iso_context_schedule_flush_completions() as a kernel API available by unit drivers. It is renamed from fw_iso_context_queue_work() since it is a counter part of fw_iso_context_flush_completions().
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
5390813c |
| 04-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: operate IT/IR events in sleepable work process instead of tasklet softIRQ
This commit queues work item for IT/IR events at hardIRQ handler to operate the corresponding isochronous co
firewire: ohci: operate IT/IR events in sleepable work process instead of tasklet softIRQ
This commit queues work item for IT/IR events at hardIRQ handler to operate the corresponding isochronous context. The work item is queued to any of worker-pools.
The callback for either the implementation of unit protocol and user space clients is executed in sleepable work process context. The change could results in any errors of concurrent processing as well as sleep at atomic context. These errors are fixed by the following commits.
Tested-by: Edmund Raile <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
c6fb88a5 |
| 04-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core: allocate workqueue to handle isochronous contexts in card
This commit adds a workqueue dedicated for isochronous context processing.
The workqueue is allocated per instance of fw_ca
firewire: core: allocate workqueue to handle isochronous contexts in card
This commit adds a workqueue dedicated for isochronous context processing.
The workqueue is allocated per instance of fw_card structure to satisfy the following characteristics descending from 1394 OHCI specification:
In 1394 OHCI specification, memory pages are reserved to each isochronous context dedicated to DMA transmission. It allows to operate these per-context pages concurrently. Software can schedule hardware interrupt for several isochronous context to the same cycle, thus WQ_UNBOUND is specified. Additionally, it is sleepable to operate the content of pages, thus WQ_BH is not used.
The isochronous context delivers the packets with time stamp, thus WQ_HIGHPRI is specified for semi real-time data such as IEC 61883-1/6 protocol implemented by ALSA firewire stack. The isochronous context is not used by the implementation of SCSI over IEEE1394 protocol (sbp2), thus WQ_MEM_RECLAIM is not specified.
It is useful for users to adjust cpu affinity of the workqueue depending on their work loads, thus WQ_SYS is specified to expose the attributes to user space.
Tested-by: Edmund Raile <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
7d35a006 |
| 03-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: obsolete direct usage of printk_ratelimit()
A commit 77006a0a8282 ("ratelimit: add comment warning people off printk_ratelimit()") has already deprecated printk_ratelimit().
This co
firewire: ohci: obsolete direct usage of printk_ratelimit()
A commit 77006a0a8282 ("ratelimit: add comment warning people off printk_ratelimit()") has already deprecated printk_ratelimit().
This commit uses alternative functions to obsolete its usage.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
cd702372 |
| 03-Sep-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: deprecate debug parameter
Many tracepoints events have been added to 6.10 and 6.11 kernels. They are available as an alternative of debug parameter in firewire-ohci module.
The logg
firewire: ohci: deprecate debug parameter
Many tracepoints events have been added to 6.10 and 6.11 kernels. They are available as an alternative of debug parameter in firewire-ohci module.
The logging messages enabled by the parameter require some cumbersomes in a point of maintenance; e.g. the code to decode transaction frame.
This commit adds deprecation text to conduct users to them..
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
52f9fcbc |
| 17-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: fix error path to detect initiated reset in TI TSB41BA3D phy
A commit 404957c1e207 ("firewire: ohci: use guard macro to serialize accesses to phy registers") refactored initiated_res
firewire: ohci: fix error path to detect initiated reset in TI TSB41BA3D phy
A commit 404957c1e207 ("firewire: ohci: use guard macro to serialize accesses to phy registers") refactored initiated_reset() helper function, while the error path was changed wrongly.
This commit fixes the bug.
Reported-by: Dan Carpenter <[email protected]> Fixes: 80f3401dfeb2 ("firewire: ohci: use guard macro to serialize accesses to phy registers") Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
e8b89bc1 |
| 14-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: core/ohci: minor refactoring for computation of configuration ROM size
The size of space for configuration ROM is defined by IEEE 1212. The start and end offsets are available as some macr
firewire: core/ohci: minor refactoring for computation of configuration ROM size
The size of space for configuration ROM is defined by IEEE 1212. The start and end offsets are available as some macros in UAPI header.
This commit uses these macros to compute the size.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
d4dcb339 |
| 14-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: remove unused wrapper macro for dev_info()
The ohci_info() macro is a thin wrapper of dev_info(), while it is never used.
Link: https://lore.kernel.org/r/20240814131222.69949-3-o-ta
firewire: ohci: remove unused wrapper macro for dev_info()
The ohci_info() macro is a thin wrapper of dev_info(), while it is never used.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
56a4832c |
| 14-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use helper macro for compiler aligned attribute
The __aligned() macro has been available since v4.19 kernel by a commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mu
firewire: ohci: use helper macro for compiler aligned attribute
The __aligned() macro has been available since v4.19 kernel by a commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive").
This commit replaces with the macro.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
e4c8b801 |
| 05-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use guard macro to serialize operations for isochronous contexts
The 1394 OHCI driver uses spinlock to serialize operations for isochronous contexts.
This commit uses guard macro to
firewire: ohci: use guard macro to serialize operations for isochronous contexts
The 1394 OHCI driver uses spinlock to serialize operations for isochronous contexts.
This commit uses guard macro to maintain the spinlock.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
86baade9 |
| 05-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use guard macro to maintain image of configuration ROM
The 1394 OHCI driver uses spinlock for the process to update local configuration ROM.
This commit uses guard macro to maintain
firewire: ohci: use guard macro to maintain image of configuration ROM
The 1394 OHCI driver uses spinlock for the process to update local configuration ROM.
This commit uses guard macro to maintain the spinlock.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
b10e56fd |
| 05-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use guard macro to maintain bus time
The 1394 OHCI driver maintains bus time to respond to querying request. The concurrent access to the bus time is protected by spinlock.
This com
firewire: ohci: use guard macro to maintain bus time
The 1394 OHCI driver maintains bus time to respond to querying request. The concurrent access to the bus time is protected by spinlock.
This commit uses guard macro to maintain the spinlock.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
6d72fbc8 |
| 05-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use guard macro to serialize accesses to phy registers
The 1394 OHCI driver protects concurrent accesses to phy registers by mutex object in fw_ohci structure.
This commit uses guar
firewire: ohci: use guard macro to serialize accesses to phy registers
The 1394 OHCI driver protects concurrent accesses to phy registers by mutex object in fw_ohci structure.
This commit uses guard macro to maintain the mutex.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
8a96e7be |
| 02-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use static inline functions to serialize data of IT DMA
THis commit replaces current implementation with the helper functions added in the former commit.
Link: https://lore.kernel.o
firewire: ohci: use static inline functions to serialize data of IT DMA
THis commit replaces current implementation with the helper functions added in the former commit.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
db7a8f55 |
| 02-Aug-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: use static inline functions to serialize data of AT DMA
This commit replaces current implementation with the helper functions added in the former commit.
Link: https://lore.kernel.o
firewire: ohci: use static inline functions to serialize data of AT DMA
This commit replaces current implementation with the helper functions added in the former commit.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|
| #
faa11b99 |
| 29-Jul-2024 |
Takashi Sakamoto <[email protected]> |
firewire: ohci: minor code refactoring to localize text table
The string table for tcode is just used by log_ar_at_event(). In the case, it is suitable to move the table inner the function definitio
firewire: ohci: minor code refactoring to localize text table
The string table for tcode is just used by log_ar_at_event(). In the case, it is suitable to move the table inner the function definition.
This commit is for the purpose. Additionally, the hard-coded value for tcode is replaced with defined macros as many as possible.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
show more ...
|