Revision f55966571d5eb2876a11e48e798b4592fa1ffbb7 authored by Linus Torvalds on 08 July 2021, 19:28:15 UTC, committed by Linus Torvalds on 08 July 2021, 19:28:15 UTC
Pull drm fixes from Dave Airlie:
 "Some fixes for rc1 that came in the past weeks, mainly a bunch of
  amdgpu fixes, some i915 and the rest are misc around the place. I'm
  sending this a bit early so some more stuff may show up, but I'll
  probably take tomorrow off.

  dma-buf:
   - doc fixes

  amdgpu:
   - Misc Navi fixes
   - Powergating fix
   - Yellow Carp updates
   - Beige Goby updates
   - S0ix fix
   - Revert overlay validation fix
   - GPU reset fix for DC
   - PPC64 fix
   - Add new dimgrey cavefish DID
   - RAS fix
   - TTM fixes

  amdkfd:
   - SVM fixes

  radeon:
   - Fix missing drm_gem_object_put in error path
   - NULL ptr deref fix

  i915:
   - display DP VSC fix
   - DG1 display fix
   - IRQ fixes
   - IRQ demidlayering

  gma500:
   - bo leaks in error paths fixed"

* tag 'drm-next-2021-07-08-1' of git://anongit.freedesktop.org/drm/drm: (52 commits)
  drm/i915: Drop all references to DRM IRQ midlayer
  drm/i915: Use the correct IRQ during resume
  drm/i915/display/dg1: Correctly map DPLLs during state readout
  drm/i915/display: Do not zero past infoframes.vsc
  drm/amdgpu: Conditionally reset SDMA RAS error counts
  drm/amdkfd: Maintain svm_bo reference in page->zone_device_data
  drm/amdkfd: add invalid pages debug at vram migration
  drm/amdkfd: skip migration for pages already in VRAM
  drm/amdkfd: skip invalid pages during migrations
  drm/amdkfd: classify and map mixed svm range pages in GPU
  drm/amdkfd: use hmm range fault to get both domain pfns
  drm/amdgpu: get owner ref in validate and map
  drm/amdkfd: set owner ref to svm range prefault
  drm/amdkfd: add owner ref param to get hmm pages
  drm/amdkfd: device pgmap owner at the svm migrate init
  drm/amdkfd: inc counter on child ranges with xnack off
  drm/amd/display: Extend DMUB diagnostic logging to DCN3.1
  drm/amdgpu: Update NV SIMD-per-CU to 2
  drm/amdgpu: add new dimgrey cavefish DID
  drm/amd/pm: skip PrepareMp1ForUnload message in s0ix
  ...
2 parent s 8c1bfd7 + 21c355b
Raw File
watchdog_hrtimer_pretimeout.c
// SPDX-License-Identifier: GPL-2.0
/*
 * (c) Copyright 2021 Hewlett Packard Enterprise Development LP.
 */

#include <linux/hrtimer.h>
#include <linux/watchdog.h>

#include "watchdog_core.h"
#include "watchdog_pretimeout.h"

static enum hrtimer_restart watchdog_hrtimer_pretimeout(struct hrtimer *timer)
{
	struct watchdog_core_data *wd_data;

	wd_data = container_of(timer, struct watchdog_core_data, pretimeout_timer);

	watchdog_notify_pretimeout(wd_data->wdd);
	return HRTIMER_NORESTART;
}

void watchdog_hrtimer_pretimeout_init(struct watchdog_device *wdd)
{
	struct watchdog_core_data *wd_data = wdd->wd_data;

	hrtimer_init(&wd_data->pretimeout_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
	wd_data->pretimeout_timer.function = watchdog_hrtimer_pretimeout;
}

void watchdog_hrtimer_pretimeout_start(struct watchdog_device *wdd)
{
	if (!(wdd->info->options & WDIOF_PRETIMEOUT) &&
	    !watchdog_pretimeout_invalid(wdd, wdd->pretimeout))
		hrtimer_start(&wdd->wd_data->pretimeout_timer,
			      ktime_set(wdd->timeout - wdd->pretimeout, 0),
			      HRTIMER_MODE_REL);
	else
		hrtimer_cancel(&wdd->wd_data->pretimeout_timer);
}

void watchdog_hrtimer_pretimeout_stop(struct watchdog_device *wdd)
{
	hrtimer_cancel(&wdd->wd_data->pretimeout_timer);
}
back to top