Pull char/misc driver fixes from Greg KH: "Here are some small char and misc driver fixes for 5.2-rc4 to resolve a number of reported issues. The most "notable" one here is the kernel headers in proc^Wsysfs fixes. Those changes move the header file info into sysfs and fixes the build issues that you reported. Other than that, a bunch of small habanalabs driver fixes, some fpga driver fixes, and a few other tiny driver fixes. All of these have been in linux-next for a while with no reported issues" * tag 'char-misc-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: habanalabs: Read upper bits of trace buffer from RWPHI habanalabs: Fix virtual address access via debugfs for 2MB pages fpga: zynqmp-fpga: Correctly handle error pointer habanalabs: fix bug in checking huge page optimization habanalabs: Avoid using a non-initialized MMU cache mutex habanalabs: fix debugfs code uapi/habanalabs: add opcode for enable/disable device debug mode habanalabs: halt debug engines on user process close test_firmware: Use correct snprintf() limit genwqe: Prevent an integer overflow in the ioctl parport: Fix mem leak in parport_register_dev_model fpga: dfl: expand minor range when registering chrdev region fpga: dfl: Add lockdep classes for pdata->lock fpga: dfl: afu: Pass the correct device to dma_mapping_error() fpga: stratix10-soc: fix use-after-free on s10_init() w1: ds2408: Fix typo after 49695ac46861 (reset on output_write retry with readback) kheaders: Do not regenerate archive if config is not changed kheaders: Move from proc to sysfs lkdtm/bugs: Adjust recursion test to avoid elision lkdtm/usercopy: Moves the KERNEL_DS test to non-canonical
Showing the changes to include/uapi (1 of 27 files). Show all
Unified · Split
| @@ -413,6 +413,10 @@ struct hl_debug_params_spmu { · 412 unmodified lines | ||
| 413 | 413 | #define HL_DEBUG_OP_SPMU 5 |
| 414 | 414 | /* Opcode for timestamp */ |
| 415 | 415 | #define HL_DEBUG_OP_TIMESTAMP 6 |
| 416 | +/* Opcode for setting the device into or out of debug mode. The enable | |
| 417 | + * variable should be 1 for enabling debug mode and 0 for disabling it | |
| 418 | + */ | |
| 419 | +#define HL_DEBUG_OP_SET_MODE 7 | |
| 416 | 420 | |
| 417 | 421 | struct hl_debug_args { |
| 418 | 422 | /* |
| @@ -574,8 +578,22 @@ struct hl_debug_args { · 155 unmodified lines | ||
| 574 | 578 | * |
| 575 | 579 | * This IOCTL allows the user to get debug traces from the chip. |
| 576 | 580 | * |
| 577 | − * The user needs to provide the register index and essential data such as | |
| 578 | − * buffer address and size. | |
| 581 | + * Before the user can send configuration requests of the various | |
| 582 | + * debug/profile engines, it needs to set the device into debug mode. | |
| 583 | + * This is because the debug/profile infrastructure is shared component in the | |
| 584 | + * device and we can't allow multiple users to access it at the same time. | |
| 585 | + * | |
| 586 | + * Once a user set the device into debug mode, the driver won't allow other | |
| 587 | + * users to "work" with the device, i.e. open a FD. If there are multiple users | |
| 588 | + * opened on the device, the driver won't allow any user to debug the device. | |
| 589 | + * | |
| 590 | + * For each configuration request, the user needs to provide the register index | |
| 591 | + * and essential data such as buffer address and size. | |
| 592 | + * | |
| 593 | + * Once the user has finished using the debug/profile engines, he should | |
| 594 | + * set the device into non-debug mode, i.e. disable debug mode. | |
| 595 | + * | |
| 596 | + * The driver can decide to "kick out" the user if he abuses this interface. | |
| 579 | 597 | * |
| 580 | 598 | */ |
| 581 | 599 | #define HL_IOCTL_DEBUG \ |