Skip to content
Snippets Groups Projects
Select Git revision
  • 4ef873226ceb9c7bf11a922caddc5698a24bcfaf
  • vme-testing default
  • ci-test
  • master
  • remoteproc
  • am625-sk-ov5640
  • pcal6534-upstreaming
  • lps22df-upstreaming
  • msc-upstreaming
  • imx8mp
  • iio/noa1305
  • vme-next
  • vme-next-4.14-rc4
  • v4.14-rc4
  • v4.14-rc3
  • v4.14-rc2
  • v4.14-rc1
  • v4.13
  • vme-next-4.13-rc7
  • v4.13-rc7
  • v4.13-rc6
  • v4.13-rc5
  • v4.13-rc4
  • v4.13-rc3
  • v4.13-rc2
  • v4.13-rc1
  • v4.12
  • v4.12-rc7
  • v4.12-rc6
  • v4.12-rc5
  • v4.12-rc4
  • v4.12-rc3
32 results

vm_fault.c

Blame
  • i915_irq.c 124.49 KiB
    /* i915_irq.c -- IRQ support for the I915 -*- linux-c -*-
     */
    /*
     * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
     * All Rights Reserved.
     *
     * Permission is hereby granted, free of charge, to any person obtaining a
     * copy of this software and associated documentation files (the
     * "Software"), to deal in the Software without restriction, including
     * without limitation the rights to use, copy, modify, merge, publish,
     * distribute, sub license, and/or sell copies of the Software, and to
     * permit persons to whom the Software is furnished to do so, subject to
     * the following conditions:
     *
     * The above copyright notice and this permission notice (including the
     * next paragraph) shall be included in all copies or substantial portions
     * of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
     * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
     * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     *
     */
    
    #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
    
    #include <linux/circ_buf.h>
    #include <linux/cpuidle.h>
    #include <linux/slab.h>
    #include <linux/sysrq.h>
    
    #include <drm/drm_drv.h>
    #include <drm/drm_irq.h>
    #include <drm/i915_drm.h>
    
    #include "display/intel_display_types.h"
    #include "display/intel_fifo_underrun.h"
    #include "display/intel_hotplug.h"
    #include "display/intel_lpe_audio.h"
    #include "display/intel_psr.h"
    
    #include "gt/intel_gt.h"
    #include "gt/intel_gt_irq.h"
    #include "gt/intel_gt_pm_irq.h"
    
    #include "i915_drv.h"
    #include "i915_irq.h"
    #include "i915_trace.h"
    #include "intel_pm.h"
    
    /**
     * DOC: interrupt handling
     *
     * These functions provide the basic support for enabling and disabling the
     * interrupt handling support. There's a lot more functionality in i915_irq.c
     * and related files, but that will be described in separate chapters.
     */
    
    typedef bool (*long_pulse_detect_func)(enum hpd_pin pin, u32 val);
    
    static const u32 hpd_ilk[HPD_NUM_PINS] = {
    	[HPD_PORT_A] = DE_DP_A_HOTPLUG,
    };
    
    static const u32 hpd_ivb[HPD_NUM_PINS] = {
    	[HPD_PORT_A] = DE_DP_A_HOTPLUG_IVB,