From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: jani.nikula@intel.com
Subject: [Intel-gfx] [PATCH 2/6] drm/i915/dsi: fuse dsi_send_pkt_payld() and add_payld_to_queue()
Date: Thu, 30 Sep 2021 14:24:32 +0300 [thread overview]
Message-ID: <f74f7462a36e76070db6b4c01616d0eb663b9938.1633000838.git.jani.nikula@intel.com> (raw)
In-Reply-To: <cover.1633000838.git.jani.nikula@intel.com>
Having two functions for this seems like excess duplication and
parameter juggling. Merge them together.
While at it, drop the extra error message, as wait_for_payload_credits()
already prints an error, and switch from incidental -EPERM (i.e. -1) to
actual error codes.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/icl_dsi.c | 43 +++++++++-----------------
1 file changed, 15 insertions(+), 28 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
index 11ef40230e8f..0daa90058ee3 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -129,27 +129,35 @@ static void wait_for_cmds_dispatched_to_panel(struct intel_encoder *encoder)
}
}
-static bool add_payld_to_queue(struct intel_dsi_host *host, const u8 *data,
- u32 len)
+static int dsi_send_pkt_payld(struct intel_dsi_host *host,
+ const struct mipi_dsi_packet *packet)
{
struct intel_dsi *intel_dsi = host->intel_dsi;
- struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev);
+ struct drm_i915_private *i915 = to_i915(intel_dsi->base.base.dev);
enum transcoder dsi_trans = dsi_port_to_transcoder(host->port);
+ const u8 *data = packet->payload;
+ u32 len = packet->payload_length;
int i, j;
+ /* payload queue can accept *256 bytes*, check limit */
+ if (len > MAX_PLOAD_CREDIT * 4) {
+ drm_err(&i915->drm, "payload size exceeds max queue limit\n");
+ return -EINVAL;
+ }
+
for (i = 0; i < len; i += 4) {
u32 tmp = 0;
- if (!wait_for_payload_credits(dev_priv, dsi_trans, 1))
- return false;
+ if (!wait_for_payload_credits(i915, dsi_trans, 1))
+ return -EBUSY;
for (j = 0; j < min_t(u32, len - i, 4); j++)
tmp |= *data++ << 8 * j;
- intel_de_write(dev_priv, DSI_CMD_TXPYLD(dsi_trans), tmp);
+ intel_de_write(i915, DSI_CMD_TXPYLD(dsi_trans), tmp);
}
- return true;
+ return 0;
}
static int dsi_send_pkt_hdr(struct intel_dsi_host *host,
@@ -187,27 +195,6 @@ static int dsi_send_pkt_hdr(struct intel_dsi_host *host,
return 0;
}
-static int dsi_send_pkt_payld(struct intel_dsi_host *host,
- const struct mipi_dsi_packet *packet)
-{
- struct intel_dsi *intel_dsi = host->intel_dsi;
- struct drm_i915_private *i915 = to_i915(intel_dsi->base.base.dev);
-
- /* payload queue can accept *256 bytes*, check limit */
- if (packet->payload_length > MAX_PLOAD_CREDIT * 4) {
- drm_err(&i915->drm, "payload size exceeds max queue limit\n");
- return -1;
- }
-
- /* load data into command payload queue */
- if (!add_payld_to_queue(host, packet->payload, packet->payload_length)) {
- drm_err(&i915->drm, "adding payload to queue failed\n");
- return -1;
- }
-
- return 0;
-}
-
void icl_dsi_frame_update(struct intel_crtc_state *crtc_state)
{
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
--
2.30.2
next prev parent reply other threads:[~2021-09-30 11:24 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 11:24 [Intel-gfx] [PATCH 0/6] drm/i915: incidental -EPERM considered harmful Jani Nikula
2021-09-30 11:24 ` [Intel-gfx] [PATCH 1/6] drm/i915/dsi: pass struct mipi_dsi_packet pointer, not the entire struct Jani Nikula
2021-09-30 11:24 ` Jani Nikula [this message]
2021-09-30 11:24 ` [Intel-gfx] [PATCH 3/6] drm/i915/dsi: return -EBUSY instead of -1 Jani Nikula
2021-09-30 11:24 ` [Intel-gfx] [PATCH 4/6] drm/i915/hdmi: return -EINVAL " Jani Nikula
2021-09-30 11:24 ` [Intel-gfx] [PATCH 5/6] drm/i915/drv: return -EIO " Jani Nikula
2021-09-30 11:24 ` [Intel-gfx] [PATCH 6/6] drm/i915/dram: return -ENOENT " Jani Nikula
2021-09-30 12:21 ` Ville Syrjälä
2021-10-01 8:50 ` Jani Nikula
2021-09-30 15:08 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: incidental -EPERM considered harmful Patchwork
2021-09-30 20:45 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: incidental -EPERM considered harmful (rev2) Patchwork
2021-10-01 1:54 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f74f7462a36e76070db6b4c01616d0eb663b9938.1633000838.git.jani.nikula@intel.com \
--to=jani.nikula@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.