mirror of
https://github.com/torvalds/linux.git
synced 2026-11-13 05:04:29 +01:00
drm/xe/sysctrl: Reuse xe_sysctrl_create_command()
Now that we have a helper to create sysctrl command, reuse it for threshold crossed events. Signed-off-by: Raag Jadav <raag.jadav@intel.com> Reviewed-by: Riana Tauro <riana.tauro@intel.com> Link: https://patch.msgid.link/20260818135304.497098-6-raag.jadav@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
1b2a3db004
commit
4686fcca69
|
|
@ -49,18 +49,6 @@ static void get_pending_event(struct xe_sysctrl *sc, struct xe_sysctrl_mailbox_c
|
|||
} while (response->count);
|
||||
}
|
||||
|
||||
static void event_request_prepare(struct xe_device *xe, struct xe_sysctrl_app_msg_hdr *header,
|
||||
struct xe_sysctrl_event_request *request)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
|
||||
|
||||
header->data = REG_FIELD_PREP(APP_HDR_GROUP_ID_MASK, XE_SYSCTRL_GROUP_GFSP) |
|
||||
REG_FIELD_PREP(APP_HDR_COMMAND_MASK, XE_SYSCTRL_CMD_GET_PENDING_EVENT);
|
||||
|
||||
request->vector = xe_device_has_msix(xe) ? XE_IRQ_DEFAULT_MSIX : 0;
|
||||
request->fn = PCI_FUNC(pdev->devfn);
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_sysctrl_event() - Handler for System Controller events
|
||||
* @sc: System Controller instance
|
||||
|
|
@ -72,16 +60,16 @@ void xe_sysctrl_event(struct xe_sysctrl *sc)
|
|||
struct xe_sysctrl_mailbox_command command = {};
|
||||
struct xe_sysctrl_event_response response = {};
|
||||
struct xe_sysctrl_event_request request = {};
|
||||
struct xe_sysctrl_app_msg_hdr header = {};
|
||||
struct xe_device *xe = sc_to_xe(sc);
|
||||
struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
|
||||
|
||||
xe_device_assert_mem_access(sc_to_xe(sc));
|
||||
event_request_prepare(sc_to_xe(sc), &header, &request);
|
||||
xe_device_assert_mem_access(xe);
|
||||
|
||||
command.header = header;
|
||||
command.data_in = &request;
|
||||
command.data_in_len = sizeof(request);
|
||||
command.data_out = &response;
|
||||
command.data_out_len = sizeof(response);
|
||||
request.vector = xe_device_has_msix(xe) ? XE_IRQ_DEFAULT_MSIX : 0;
|
||||
request.fn = PCI_FUNC(pdev->devfn);
|
||||
|
||||
xe_sysctrl_create_command(&command, XE_SYSCTRL_GROUP_GFSP, XE_SYSCTRL_CMD_GET_PENDING_EVENT,
|
||||
&request, sizeof(request), &response, sizeof(response));
|
||||
|
||||
guard(mutex)(&sc->event_lock);
|
||||
get_pending_event(sc, &command);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user