Now that we have a helper to create sysctrl command, reuse it for threshold crossed events.
Signed-off-by: Raag Jadav <[email protected]> --- drivers/gpu/drm/xe/xe_sysctrl_event.c | 28 ++++++++------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_sysctrl_event.c b/drivers/gpu/drm/xe/xe_sysctrl_event.c index b4d17329af6c..0547b7b39726 100644 --- a/drivers/gpu/drm/xe/xe_sysctrl_event.c +++ b/drivers/gpu/drm/xe/xe_sysctrl_event.c @@ -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); -- 2.43.0
