Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6270dbc authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Chris Wilson
Browse files

drm: i915: remove timeval users



struct timeval is deprecated because it cannot represent times
past 2038. In this driver, the only use of this structure is
to capture debug information. This is easily changed to ktime_t,
which we then format as needed when printing it later.

Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20180117154916.219273-1-arnd@arndb.de


Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent ba02f4c2
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -453,9 +453,9 @@ struct intel_display_error_state;


struct i915_gpu_state {
struct i915_gpu_state {
	struct kref ref;
	struct kref ref;
	struct timeval time;
	ktime_t time;
	struct timeval boottime;
	ktime_t boottime;
	struct timeval uptime;
	ktime_t uptime;


	struct drm_i915_private *i915;
	struct drm_i915_private *i915;


+14 −11
Original line number Original line Diff line number Diff line
@@ -610,6 +610,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
{
{
	struct drm_i915_private *dev_priv = m->i915;
	struct drm_i915_private *dev_priv = m->i915;
	struct drm_i915_error_object *obj;
	struct drm_i915_error_object *obj;
	struct timespec64 ts;
	int i, j;
	int i, j;


	if (!error) {
	if (!error) {
@@ -620,12 +621,15 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
	if (*error->error_msg)
	if (*error->error_msg)
		err_printf(m, "%s\n", error->error_msg);
		err_printf(m, "%s\n", error->error_msg);
	err_printf(m, "Kernel: " UTS_RELEASE "\n");
	err_printf(m, "Kernel: " UTS_RELEASE "\n");
	err_printf(m, "Time: %ld s %ld us\n",
	ts = ktime_to_timespec64(error->time);
		   error->time.tv_sec, error->time.tv_usec);
	err_printf(m, "Time: %lld s %ld us\n",
	err_printf(m, "Boottime: %ld s %ld us\n",
		   (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
		   error->boottime.tv_sec, error->boottime.tv_usec);
	ts = ktime_to_timespec64(error->boottime);
	err_printf(m, "Uptime: %ld s %ld us\n",
	err_printf(m, "Boottime: %lld s %ld us\n",
		   error->uptime.tv_sec, error->uptime.tv_usec);
		   (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);
	ts = ktime_to_timespec64(error->uptime);
	err_printf(m, "Uptime: %lld s %ld us\n",
		   (s64)ts.tv_sec, ts.tv_nsec / NSEC_PER_USEC);


	for (i = 0; i < ARRAY_SIZE(error->engine); i++) {
	for (i = 0; i < ARRAY_SIZE(error->engine); i++) {
		if (error->engine[i].hangcheck_stalled &&
		if (error->engine[i].hangcheck_stalled &&
@@ -1737,11 +1741,10 @@ static int capture(void *data)
{
{
	struct i915_gpu_state *error = data;
	struct i915_gpu_state *error = data;


	do_gettimeofday(&error->time);
	error->time = ktime_get_real();
	error->boottime = ktime_to_timeval(ktime_get_boottime());
	error->boottime = ktime_get_boottime();
	error->uptime =
	error->uptime = ktime_sub(ktime_get(),
		ktime_to_timeval(ktime_sub(ktime_get(),
				  error->i915->gt.last_init_time);
					   error->i915->gt.last_init_time));


	capture_params(error);
	capture_params(error);
	capture_uc_state(error);
	capture_uc_state(error);