Loading msm/dsi/dsi_ctrl.c +10 −4 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #include <linux/of_device.h> Loading Loading @@ -1565,7 +1565,7 @@ static int dsi_message_tx(struct dsi_ctrl *dsi_ctrl, dsi_ctrl_validate_msg_flags(dsi_ctrl, msg, flags); SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, flags); SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, *flags, dsi_ctrl->cmd_len); if (dsi_ctrl->dma_wait_queued) dsi_ctrl_flush_cmd_dma_queue(dsi_ctrl); Loading Loading @@ -2959,7 +2959,10 @@ void dsi_ctrl_enable_status_interrupt(struct dsi_ctrl *dsi_ctrl, intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx); SDE_EVT32(dsi_ctrl->cell_index, intr_idx, dsi_ctrl->irq_info.irq_num, dsi_ctrl->irq_info.irq_stat_mask, dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]); spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags); if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx] == 0) { Loading Loading @@ -2992,7 +2995,10 @@ void dsi_ctrl_disable_status_interrupt(struct dsi_ctrl *dsi_ctrl, if (!dsi_ctrl || intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; SDE_EVT32_IRQ(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx); SDE_EVT32_IRQ(dsi_ctrl->cell_index, intr_idx, dsi_ctrl->irq_info.irq_num, dsi_ctrl->irq_info.irq_stat_mask, dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]); spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags); if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]) Loading msm/dsi/dsi_ctrl_hw_cmn.c +2 −0 Original line number Diff line number Diff line Loading @@ -760,6 +760,8 @@ void dsi_ctrl_hw_cmn_kickoff_command(struct dsi_ctrl_hw *ctrl, if (!(flags & DSI_CTRL_HW_CMD_WAIT_FOR_TRIGGER)) DSI_W32(ctrl, DSI_CMD_MODE_DMA_SW_TRIGGER, 0x1); SDE_EVT32(ctrl->index, cmd->length, flags); } /** Loading msm/dsi/dsi_display.c +3 −0 Original line number Diff line number Diff line Loading @@ -1025,6 +1025,7 @@ int dsi_display_cmd_transfer(struct drm_connector *connector, return -EINVAL; } SDE_EVT32(dsi_display->tx_cmd_buf_ndx, cmd_buf_len); DSI_DEBUG("[DSI] Display command transfer\n"); if ((cmd_buf[1]) || (cmd_buf[3] & MIPI_DSI_MSG_LASTCOMMAND)) Loading Loading @@ -1149,6 +1150,8 @@ int dsi_display_cmd_receive(void *display, const char *cmd_buf, return -EINVAL; } SDE_EVT32(cmd_buf_len, recv_buf_len); rc = dsi_display_cmd_prepare(cmd_buf, cmd_buf_len, &cmd, cmd_payload, MAX_CMD_PAYLOAD_SIZE); if (rc) { Loading msm/dsi/dsi_pll_5nm.c +1 −1 Original line number Diff line number Diff line Loading @@ -492,7 +492,7 @@ static void dsi_pll_config_slave(struct dsi_pll_resource *rsc) rsc->slave = NULL; if (!orsc) { pr_warn("slave PLL unavilable, assuming standalone config\n"); pr_debug("slave PLL unavailable, assuming standalone config\n"); return; } Loading msm/msm_drv.c +22 −4 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ (ktime_compare_safe(exp_ktime, cur_ktime) > 0));\ } while (0) static DEFINE_MUTEX(msm_release_lock); static void msm_fb_output_poll_changed(struct drm_device *dev) { struct msm_drm_private *priv = NULL; Loading Loading @@ -1487,13 +1489,25 @@ void msm_mode_object_event_notify(struct drm_mode_object *obj, static int msm_release(struct inode *inode, struct file *filp) { struct drm_file *file_priv = filp->private_data; struct drm_minor *minor = file_priv->minor; struct drm_device *dev = minor->dev; struct msm_drm_private *priv = dev->dev_private; struct drm_minor *minor; struct drm_device *dev; struct msm_drm_private *priv; struct msm_drm_event *node, *temp, *tmp_node; u32 count; unsigned long flags; LIST_HEAD(tmp_head); int ret = 0; mutex_lock(&msm_release_lock); if (!file_priv) { ret = -EINVAL; goto end; } minor = file_priv->minor; dev = minor->dev; priv = dev->dev_private; spin_lock_irqsave(&dev->event_lock, flags); list_for_each_entry_safe(node, temp, &priv->client_event_list, Loading Loading @@ -1531,7 +1545,11 @@ static int msm_release(struct inode *inode, struct file *filp) if (drm_is_current_master(file_priv)) msm_preclose(dev, file_priv); return drm_release(inode, filp); ret = drm_release(inode, filp); filp->private_data = NULL; end: mutex_unlock(&msm_release_lock); return ret; } /** Loading Loading
msm/dsi/dsi_ctrl.c +10 −4 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #include <linux/of_device.h> Loading Loading @@ -1565,7 +1565,7 @@ static int dsi_message_tx(struct dsi_ctrl *dsi_ctrl, dsi_ctrl_validate_msg_flags(dsi_ctrl, msg, flags); SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, flags); SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, *flags, dsi_ctrl->cmd_len); if (dsi_ctrl->dma_wait_queued) dsi_ctrl_flush_cmd_dma_queue(dsi_ctrl); Loading Loading @@ -2959,7 +2959,10 @@ void dsi_ctrl_enable_status_interrupt(struct dsi_ctrl *dsi_ctrl, intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx); SDE_EVT32(dsi_ctrl->cell_index, intr_idx, dsi_ctrl->irq_info.irq_num, dsi_ctrl->irq_info.irq_stat_mask, dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]); spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags); if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx] == 0) { Loading Loading @@ -2992,7 +2995,10 @@ void dsi_ctrl_disable_status_interrupt(struct dsi_ctrl *dsi_ctrl, if (!dsi_ctrl || intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; SDE_EVT32_IRQ(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx); SDE_EVT32_IRQ(dsi_ctrl->cell_index, intr_idx, dsi_ctrl->irq_info.irq_num, dsi_ctrl->irq_info.irq_stat_mask, dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]); spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags); if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]) Loading
msm/dsi/dsi_ctrl_hw_cmn.c +2 −0 Original line number Diff line number Diff line Loading @@ -760,6 +760,8 @@ void dsi_ctrl_hw_cmn_kickoff_command(struct dsi_ctrl_hw *ctrl, if (!(flags & DSI_CTRL_HW_CMD_WAIT_FOR_TRIGGER)) DSI_W32(ctrl, DSI_CMD_MODE_DMA_SW_TRIGGER, 0x1); SDE_EVT32(ctrl->index, cmd->length, flags); } /** Loading
msm/dsi/dsi_display.c +3 −0 Original line number Diff line number Diff line Loading @@ -1025,6 +1025,7 @@ int dsi_display_cmd_transfer(struct drm_connector *connector, return -EINVAL; } SDE_EVT32(dsi_display->tx_cmd_buf_ndx, cmd_buf_len); DSI_DEBUG("[DSI] Display command transfer\n"); if ((cmd_buf[1]) || (cmd_buf[3] & MIPI_DSI_MSG_LASTCOMMAND)) Loading Loading @@ -1149,6 +1150,8 @@ int dsi_display_cmd_receive(void *display, const char *cmd_buf, return -EINVAL; } SDE_EVT32(cmd_buf_len, recv_buf_len); rc = dsi_display_cmd_prepare(cmd_buf, cmd_buf_len, &cmd, cmd_payload, MAX_CMD_PAYLOAD_SIZE); if (rc) { Loading
msm/dsi/dsi_pll_5nm.c +1 −1 Original line number Diff line number Diff line Loading @@ -492,7 +492,7 @@ static void dsi_pll_config_slave(struct dsi_pll_resource *rsc) rsc->slave = NULL; if (!orsc) { pr_warn("slave PLL unavilable, assuming standalone config\n"); pr_debug("slave PLL unavailable, assuming standalone config\n"); return; } Loading
msm/msm_drv.c +22 −4 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ (ktime_compare_safe(exp_ktime, cur_ktime) > 0));\ } while (0) static DEFINE_MUTEX(msm_release_lock); static void msm_fb_output_poll_changed(struct drm_device *dev) { struct msm_drm_private *priv = NULL; Loading Loading @@ -1487,13 +1489,25 @@ void msm_mode_object_event_notify(struct drm_mode_object *obj, static int msm_release(struct inode *inode, struct file *filp) { struct drm_file *file_priv = filp->private_data; struct drm_minor *minor = file_priv->minor; struct drm_device *dev = minor->dev; struct msm_drm_private *priv = dev->dev_private; struct drm_minor *minor; struct drm_device *dev; struct msm_drm_private *priv; struct msm_drm_event *node, *temp, *tmp_node; u32 count; unsigned long flags; LIST_HEAD(tmp_head); int ret = 0; mutex_lock(&msm_release_lock); if (!file_priv) { ret = -EINVAL; goto end; } minor = file_priv->minor; dev = minor->dev; priv = dev->dev_private; spin_lock_irqsave(&dev->event_lock, flags); list_for_each_entry_safe(node, temp, &priv->client_event_list, Loading Loading @@ -1531,7 +1545,11 @@ static int msm_release(struct inode *inode, struct file *filp) if (drm_is_current_master(file_priv)) msm_preclose(dev, file_priv); return drm_release(inode, filp); ret = drm_release(inode, filp); filp->private_data = NULL; end: mutex_unlock(&msm_release_lock); return ret; } /** Loading