diff options
| author | Ingo Molnar <mingo@kernel.org> | 2012-04-13 03:50:21 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2012-04-13 03:50:21 -0400 |
| commit | 659c36fcda403013a01b85da07cf2d9711e6d6c7 (patch) | |
| tree | ece2e7d0e2c19ea5a3d0ec172ad0b81a8a19021d /include/linux/firewire-cdev.h | |
| parent | 9521d830b6341d1887dcfc2aebde23fbfa5f1473 (diff) | |
| parent | 5a7ed29c7572d00a75e8c4529e30c5ac2ef82271 (diff) | |
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Fixes and improvements for perf/core:
. Overhaul the tools/ makefiles, gluing them to the top level Makefile, from
Borislav Petkov.
. Move the UI files from tools/perf/util/ui/ to tools/perf/ui/. Also move
the GTK+ browser to tools/perf/ui/gtk/, from Namhyung Kim.
. Only fallback to sw cycles counter on ENOENT for the hw cycles, from
Robert Richter
. Trivial fixes from Robert Richter
. Handle the autogenerated bison/flex files better, from Namhyung and Jiri Olsa.
. Navigate jump instructions in the annotate browser, just press enter or ->,
still needs support for a jump navigation history, i.e. to go back.
. Search string in the annotate browser: same keys as vim:
/ forward
n next backward/forward
? backward
. Clarify number of events/samples in the report header, from Ashay Rane
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/firewire-cdev.h')
| -rw-r--r-- | include/linux/firewire-cdev.h | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/include/linux/firewire-cdev.h b/include/linux/firewire-cdev.h index 357dbfc2829e..d50036953497 100644 --- a/include/linux/firewire-cdev.h +++ b/include/linux/firewire-cdev.h | |||
| @@ -207,12 +207,16 @@ struct fw_cdev_event_request2 { | |||
| 207 | * @closure: See &fw_cdev_event_common; | 207 | * @closure: See &fw_cdev_event_common; |
| 208 | * set by %FW_CDEV_CREATE_ISO_CONTEXT ioctl | 208 | * set by %FW_CDEV_CREATE_ISO_CONTEXT ioctl |
| 209 | * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_ISO_INTERRUPT | 209 | * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_ISO_INTERRUPT |
| 210 | * @cycle: Cycle counter of the interrupt packet | 210 | * @cycle: Cycle counter of the last completed packet |
| 211 | * @header_length: Total length of following headers, in bytes | 211 | * @header_length: Total length of following headers, in bytes |
| 212 | * @header: Stripped headers, if any | 212 | * @header: Stripped headers, if any |
| 213 | * | 213 | * |
| 214 | * This event is sent when the controller has completed an &fw_cdev_iso_packet | 214 | * This event is sent when the controller has completed an &fw_cdev_iso_packet |
| 215 | * with the %FW_CDEV_ISO_INTERRUPT bit set. | 215 | * with the %FW_CDEV_ISO_INTERRUPT bit set, when explicitly requested with |
| 216 | * %FW_CDEV_IOC_FLUSH_ISO, or when there have been so many completed packets | ||
| 217 | * without the interrupt bit set that the kernel's internal buffer for @header | ||
| 218 | * is about to overflow. (In the last case, kernels with ABI version < 5 drop | ||
| 219 | * header data up to the next interrupt packet.) | ||
| 216 | * | 220 | * |
| 217 | * Isochronous transmit events (context type %FW_CDEV_ISO_CONTEXT_TRANSMIT): | 221 | * Isochronous transmit events (context type %FW_CDEV_ISO_CONTEXT_TRANSMIT): |
| 218 | * | 222 | * |
| @@ -267,9 +271,9 @@ struct fw_cdev_event_iso_interrupt { | |||
| 267 | * | 271 | * |
| 268 | * This event is sent in multichannel contexts (context type | 272 | * This event is sent in multichannel contexts (context type |
| 269 | * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL) for &fw_cdev_iso_packet buffer | 273 | * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL) for &fw_cdev_iso_packet buffer |
| 270 | * chunks that have the %FW_CDEV_ISO_INTERRUPT bit set. Whether this happens | 274 | * chunks that have been completely filled and that have the |
| 271 | * when a packet is completed and/or when a buffer chunk is completed depends | 275 | * %FW_CDEV_ISO_INTERRUPT bit set, or when explicitly requested with |
| 272 | * on the hardware implementation. | 276 | * %FW_CDEV_IOC_FLUSH_ISO. |
| 273 | * | 277 | * |
| 274 | * The buffer is continuously filled with the following data, per packet: | 278 | * The buffer is continuously filled with the following data, per packet: |
| 275 | * - the 1394 iso packet header as described at &fw_cdev_event_iso_interrupt, | 279 | * - the 1394 iso packet header as described at &fw_cdev_event_iso_interrupt, |
| @@ -419,6 +423,9 @@ union fw_cdev_event { | |||
| 419 | #define FW_CDEV_IOC_RECEIVE_PHY_PACKETS _IOW('#', 0x16, struct fw_cdev_receive_phy_packets) | 423 | #define FW_CDEV_IOC_RECEIVE_PHY_PACKETS _IOW('#', 0x16, struct fw_cdev_receive_phy_packets) |
| 420 | #define FW_CDEV_IOC_SET_ISO_CHANNELS _IOW('#', 0x17, struct fw_cdev_set_iso_channels) | 424 | #define FW_CDEV_IOC_SET_ISO_CHANNELS _IOW('#', 0x17, struct fw_cdev_set_iso_channels) |
| 421 | 425 | ||
| 426 | /* available since kernel version 3.4 */ | ||
| 427 | #define FW_CDEV_IOC_FLUSH_ISO _IOW('#', 0x18, struct fw_cdev_flush_iso) | ||
| 428 | |||
| 422 | /* | 429 | /* |
| 423 | * ABI version history | 430 | * ABI version history |
| 424 | * 1 (2.6.22) - initial version | 431 | * 1 (2.6.22) - initial version |
| @@ -441,6 +448,9 @@ union fw_cdev_event { | |||
| 441 | * - added %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL, | 448 | * - added %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL, |
| 442 | * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL, and | 449 | * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL, and |
| 443 | * %FW_CDEV_IOC_SET_ISO_CHANNELS | 450 | * %FW_CDEV_IOC_SET_ISO_CHANNELS |
| 451 | * 5 (3.4) - send %FW_CDEV_EVENT_ISO_INTERRUPT events when needed to | ||
| 452 | * avoid dropping data | ||
| 453 | * - added %FW_CDEV_IOC_FLUSH_ISO | ||
| 444 | */ | 454 | */ |
| 445 | 455 | ||
| 446 | /** | 456 | /** |
| @@ -851,6 +861,25 @@ struct fw_cdev_stop_iso { | |||
| 851 | }; | 861 | }; |
| 852 | 862 | ||
| 853 | /** | 863 | /** |
| 864 | * struct fw_cdev_flush_iso - flush completed iso packets | ||
| 865 | * @handle: handle of isochronous context to flush | ||
| 866 | * | ||
| 867 | * For %FW_CDEV_ISO_CONTEXT_TRANSMIT or %FW_CDEV_ISO_CONTEXT_RECEIVE contexts, | ||
| 868 | * report any completed packets. | ||
| 869 | * | ||
| 870 | * For %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL contexts, report the current | ||
| 871 | * offset in the receive buffer, if it has changed; this is typically in the | ||
| 872 | * middle of some buffer chunk. | ||
| 873 | * | ||
| 874 | * Any %FW_CDEV_EVENT_ISO_INTERRUPT or %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL | ||
| 875 | * events generated by this ioctl are sent synchronously, i.e., are available | ||
| 876 | * for reading from the file descriptor when this ioctl returns. | ||
| 877 | */ | ||
| 878 | struct fw_cdev_flush_iso { | ||
| 879 | __u32 handle; | ||
| 880 | }; | ||
| 881 | |||
| 882 | /** | ||
| 854 | * struct fw_cdev_get_cycle_timer - read cycle timer register | 883 | * struct fw_cdev_get_cycle_timer - read cycle timer register |
| 855 | * @local_time: system time, in microseconds since the Epoch | 884 | * @local_time: system time, in microseconds since the Epoch |
| 856 | * @cycle_timer: Cycle Time register contents | 885 | * @cycle_timer: Cycle Time register contents |
