i915_error_puts becomes an specialization of the more general case.
Also, make it publicly accesible (since I will be using it inside
AubCrash).

Signed-off-by: Oscar Mateo <oscar.ma...@intel.com>
Cc: Chris Wilson <ch...@chris-wsilon.co.uk>
---
 drivers/gpu/drm/i915/i915_drv.h       |  2 ++
 drivers/gpu/drm/i915/i915_gpu_error.c | 19 +++++++++++--------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 23d746b..ae3c8b1 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3937,6 +3937,8 @@ static inline void intel_display_crc_init(struct 
drm_i915_private *dev_priv) {}
 
 __printf(2, 3)
 void i915_error_printf(struct drm_i915_error_state_buf *e, const char *f, ...);
+void i915_error_binary_write(struct drm_i915_error_state_buf *e,
+                            const void *data, size_t len);
 int i915_error_state_to_str(struct drm_i915_error_state_buf *estr,
                            const struct i915_gpu_state *gpu);
 int i915_error_state_buf_init(struct drm_i915_error_state_buf *eb,
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c 
b/drivers/gpu/drm/i915/i915_gpu_error.c
index a14aa29..e71d2c8 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -149,17 +149,13 @@ static void i915_error_vprintf(struct 
drm_i915_error_state_buf *e,
        __i915_error_advance(e, len);
 }
 
-static void i915_error_puts(struct drm_i915_error_state_buf *e,
-                           const char *str)
+void i915_error_binary_write(struct drm_i915_error_state_buf *e,
+                            const void *data, size_t len)
 {
-       unsigned len;
-
        if (!__i915_error_ok(e))
                return;
 
-       len = strlen(str);
-
-       /* Seek the first printf which is hits start position */
+       /* Seek the first printf which hits start position */
        if (e->pos < e->start) {
                if (!__i915_error_seek(e, len))
                        return;
@@ -167,11 +163,18 @@ static void i915_error_puts(struct 
drm_i915_error_state_buf *e,
 
        if (len >= e->size - e->bytes)
                len = e->size - e->bytes - 1;
-       memcpy(e->buf + e->bytes, str, len);
+       memcpy(e->buf + e->bytes, data, len);
 
        __i915_error_advance(e, len);
 }
 
+static void i915_error_puts(struct drm_i915_error_state_buf *e, const char 
*str)
+{
+       size_t len = strlen(str);
+
+       i915_error_binary_write(e, str, len);
+}
+
 #define err_printf(e, ...) i915_error_printf(e, __VA_ARGS__)
 #define err_puts(e, s) i915_error_puts(e, s)
 
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to