[Intel-gfx] [PATCH 04/12] drm/i915: Flush periodic samples, in case of no pending CS sample requests
kbuild test robot
lkp at intel.com
Mon Jul 31 16:52:00 UTC 2017
Hi Sourab,
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on next-20170731]
[cannot apply to v4.13-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Sagar-Arun-Kamble/i915-perf-support-for-command-stream-based-OA-GPU-and-workload-metrics-capture/20170731-184412
base: git://anongit.freedesktop.org/drm-intel for-linux-next
reproduce: make htmldocs
All warnings (new ones prefixed by >>):
WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org)
include/linux/init.h:1: warning: no structured comments found
include/linux/mod_devicetable.h:687: warning: Excess struct/union/enum/typedef member 'ver_major' description in 'fsl_mc_device_id'
include/linux/mod_devicetable.h:687: warning: Excess struct/union/enum/typedef member 'ver_minor' description in 'fsl_mc_device_id'
kernel/sched/core.c:2080: warning: No description found for parameter 'rf'
kernel/sched/core.c:2080: warning: Excess function parameter 'cookie' description in 'try_to_wake_up_local'
include/linux/wait.h:555: warning: No description found for parameter 'wq'
include/linux/wait.h:555: warning: Excess function parameter 'wq_head' description in 'wait_event_interruptible_hrtimeout'
include/linux/wait.h:759: warning: No description found for parameter 'wq_head'
include/linux/wait.h:759: warning: Excess function parameter 'wq' description in 'wait_event_killable'
include/linux/kthread.h:26: warning: Excess function parameter '...' description in 'kthread_create'
kernel/sys.c:1: warning: no structured comments found
include/linux/device.h:968: warning: No description found for parameter 'dma_ops'
drivers/dma-buf/seqno-fence.c:1: warning: no structured comments found
include/linux/iio/iio.h:603: warning: No description found for parameter 'trig_readonly'
include/linux/iio/trigger.h:151: warning: No description found for parameter 'indio_dev'
include/linux/iio/trigger.h:151: warning: No description found for parameter 'trig'
include/linux/device.h:969: warning: No description found for parameter 'dma_ops'
drivers/ata/libata-eh.c:1449: warning: No description found for parameter 'link'
drivers/ata/libata-eh.c:1449: warning: Excess function parameter 'ap' description in 'ata_eh_done'
drivers/ata/libata-eh.c:1590: warning: No description found for parameter 'qc'
drivers/ata/libata-eh.c:1590: warning: Excess function parameter 'dev' description in 'ata_eh_request_sense'
drivers/mtd/nand/nand_base.c:2751: warning: Excess function parameter 'cached' description in 'nand_write_page'
drivers/mtd/nand/nand_base.c:2751: warning: Excess function parameter 'cached' description in 'nand_write_page'
arch/s390/include/asm/cmb.h:1: warning: no structured comments found
drivers/scsi/scsi_lib.c:1116: warning: No description found for parameter 'rq'
drivers/scsi/constants.c:1: warning: no structured comments found
include/linux/usb/gadget.h:230: warning: No description found for parameter 'claimed'
include/linux/usb/gadget.h:230: warning: No description found for parameter 'enabled'
include/linux/usb/gadget.h:412: warning: No description found for parameter 'quirk_altset_not_supp'
include/linux/usb/gadget.h:412: warning: No description found for parameter 'quirk_stall_not_supp'
include/linux/usb/gadget.h:412: warning: No description found for parameter 'quirk_zlp_not_supp'
fs/inode.c:1666: warning: No description found for parameter 'rcu'
include/linux/jbd2.h:443: warning: No description found for parameter 'i_transaction'
include/linux/jbd2.h:443: warning: No description found for parameter 'i_next_transaction'
include/linux/jbd2.h:443: warning: No description found for parameter 'i_list'
include/linux/jbd2.h:443: warning: No description found for parameter 'i_vfs_inode'
include/linux/jbd2.h:443: warning: No description found for parameter 'i_flags'
include/linux/jbd2.h:497: warning: No description found for parameter 'h_rsv_handle'
include/linux/jbd2.h:497: warning: No description found for parameter 'h_reserved'
include/linux/jbd2.h:497: warning: No description found for parameter 'h_type'
include/linux/jbd2.h:497: warning: No description found for parameter 'h_line_no'
include/linux/jbd2.h:497: warning: No description found for parameter 'h_start_jiffies'
include/linux/jbd2.h:497: warning: No description found for parameter 'h_requested_credits'
include/linux/jbd2.h:497: warning: No description found for parameter 'saved_alloc_context'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_chkpt_bhs'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_devname'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_average_commit_time'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_min_batch_time'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_max_batch_time'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_commit_callback'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_failed_commit'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_chksum_driver'
include/linux/jbd2.h:1050: warning: No description found for parameter 'j_csum_seed'
fs/jbd2/transaction.c:511: warning: No description found for parameter 'type'
fs/jbd2/transaction.c:511: warning: No description found for parameter 'line_no'
fs/jbd2/transaction.c:641: warning: No description found for parameter 'gfp_mask'
include/drm/drm_drv.h:553: warning: No description found for parameter 'debugfs_init'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_open_object'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_close_object'
include/drm/drm_drv.h:553: warning: No description found for parameter 'prime_handle_to_fd'
include/drm/drm_drv.h:553: warning: No description found for parameter 'prime_fd_to_handle'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_export'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_import'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_pin'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_unpin'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_res_obj'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_get_sg_table'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_import_sg_table'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_vmap'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_vunmap'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_prime_mmap'
include/drm/drm_drv.h:553: warning: No description found for parameter 'gem_vm_ops'
include/drm/drm_drv.h:553: warning: No description found for parameter 'major'
include/drm/drm_drv.h:553: warning: No description found for parameter 'minor'
include/drm/drm_drv.h:553: warning: No description found for parameter 'patchlevel'
include/drm/drm_drv.h:553: warning: No description found for parameter 'name'
include/drm/drm_drv.h:553: warning: No description found for parameter 'desc'
include/drm/drm_drv.h:553: warning: No description found for parameter 'date'
include/drm/drm_drv.h:553: warning: No description found for parameter 'driver_features'
drivers/gpu/drm/drm_modes.c:1623: warning: No description found for parameter 'display'
drivers/gpu/drm/drm_modes.c:1623: warning: Excess function parameter 'connector' description in 'drm_mode_is_420_only'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
drivers/gpu/drm/i915/i915_drv.h:2000: warning: No description found for parameter 'emit_sample_capture'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_buffer'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_samples'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_samples_lock'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'poll_wq'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'pollin'
drivers/gpu/drm/i915/i915_drv.h:2000: warning: No description found for parameter 'emit_sample_capture'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_buffer'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_samples'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_samples_lock'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'poll_wq'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'pollin'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
drivers/gpu/drm/i915/i915_drv.h:2000: warning: No description found for parameter 'emit_sample_capture'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_buffer'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_samples'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'cs_samples_lock'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'poll_wq'
drivers/gpu/drm/i915/i915_drv.h:2078: warning: No description found for parameter 'pollin'
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
drivers/gpu/drm/i915/i915_perf.c:1: warning: no structured comments found
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
drivers/gpu/drm/i915/i915_perf.c:1: warning: no structured comments found
>> drivers/gpu/drm/i915/i915_perf.c:684: warning: No description found for parameter 'last_ts'
drivers/gpu/drm/i915/i915_perf.c:1: warning: no structured comments found
vim +/last_ts +684 drivers/gpu/drm/i915/i915_perf.c
b0aca6b4 Sourab Gupta 2017-07-31 657
b0aca6b4 Sourab Gupta 2017-07-31 658 /**
24459f50 Sourab Gupta 2017-07-31 659 * oa_buffer_num_reports_unlocked - check for data and update tail ptr state
0dd860cf Robert Bragg 2017-05-11 660 * @dev_priv: i915 device instance
d7965152 Robert Bragg 2016-11-07 661 *
0dd860cf Robert Bragg 2017-05-11 662 * This is either called via fops (for blocking reads in user ctx) or the poll
0dd860cf Robert Bragg 2017-05-11 663 * check hrtimer (atomic ctx) to check the OA buffer tail pointer and check
0dd860cf Robert Bragg 2017-05-11 664 * if there is data available for userspace to read.
d7965152 Robert Bragg 2016-11-07 665 *
0dd860cf Robert Bragg 2017-05-11 666 * This function is central to providing a workaround for the OA unit tail
0dd860cf Robert Bragg 2017-05-11 667 * pointer having a race with respect to what data is visible to the CPU.
0dd860cf Robert Bragg 2017-05-11 668 * It is responsible for reading tail pointers from the hardware and giving
0dd860cf Robert Bragg 2017-05-11 669 * the pointers time to 'age' before they are made available for reading.
0dd860cf Robert Bragg 2017-05-11 670 * (See description of OA_TAIL_MARGIN_NSEC above for further details.)
0dd860cf Robert Bragg 2017-05-11 671 *
24459f50 Sourab Gupta 2017-07-31 672 * Besides returning num of reports when there is data available to read() it
0dd860cf Robert Bragg 2017-05-11 673 * also has the side effect of updating the oa_buffer.tails[], .aging_timestamp
0dd860cf Robert Bragg 2017-05-11 674 * and .aged_tail_idx state used for reading.
0dd860cf Robert Bragg 2017-05-11 675 *
0dd860cf Robert Bragg 2017-05-11 676 * Note: It's safe to read OA config state here unlocked, assuming that this is
0dd860cf Robert Bragg 2017-05-11 677 * only called while the stream is enabled, while the global OA configuration
0dd860cf Robert Bragg 2017-05-11 678 * can't be modified.
0dd860cf Robert Bragg 2017-05-11 679 *
24459f50 Sourab Gupta 2017-07-31 680 * Returns: number of samples available to read
d7965152 Robert Bragg 2016-11-07 681 */
24459f50 Sourab Gupta 2017-07-31 682 static u32 oa_buffer_num_reports_unlocked(
24459f50 Sourab Gupta 2017-07-31 683 struct drm_i915_private *dev_priv, u32 *last_ts)
d7965152 Robert Bragg 2016-11-07 @684 {
d7965152 Robert Bragg 2016-11-07 685 int report_size = dev_priv->perf.oa.oa_buffer.format_size;
0dd860cf Robert Bragg 2017-05-11 686 unsigned long flags;
0dd860cf Robert Bragg 2017-05-11 687 unsigned int aged_idx;
24459f50 Sourab Gupta 2017-07-31 688 u32 head, hw_tail, aged_tail, aging_tail, num_reports = 0;
0dd860cf Robert Bragg 2017-05-11 689 u64 now;
0dd860cf Robert Bragg 2017-05-11 690
0dd860cf Robert Bragg 2017-05-11 691 /* We have to consider the (unlikely) possibility that read() errors
0dd860cf Robert Bragg 2017-05-11 692 * could result in an OA buffer reset which might reset the head,
0dd860cf Robert Bragg 2017-05-11 693 * tails[] and aged_tail state.
0dd860cf Robert Bragg 2017-05-11 694 */
0dd860cf Robert Bragg 2017-05-11 695 spin_lock_irqsave(&dev_priv->perf.oa.oa_buffer.ptr_lock, flags);
0dd860cf Robert Bragg 2017-05-11 696
0dd860cf Robert Bragg 2017-05-11 697 /* NB: The head we observe here might effectively be a little out of
0dd860cf Robert Bragg 2017-05-11 698 * date (between head and tails[aged_idx].offset if there is currently
0dd860cf Robert Bragg 2017-05-11 699 * a read() in progress.
0dd860cf Robert Bragg 2017-05-11 700 */
0dd860cf Robert Bragg 2017-05-11 701 head = dev_priv->perf.oa.oa_buffer.head;
0dd860cf Robert Bragg 2017-05-11 702
0dd860cf Robert Bragg 2017-05-11 703 aged_idx = dev_priv->perf.oa.oa_buffer.aged_tail_idx;
0dd860cf Robert Bragg 2017-05-11 704 aged_tail = dev_priv->perf.oa.oa_buffer.tails[aged_idx].offset;
0dd860cf Robert Bragg 2017-05-11 705 aging_tail = dev_priv->perf.oa.oa_buffer.tails[!aged_idx].offset;
0dd860cf Robert Bragg 2017-05-11 706
19f81df2 Robert Bragg 2017-06-13 707 hw_tail = dev_priv->perf.oa.ops.oa_hw_tail_read(dev_priv);
0dd860cf Robert Bragg 2017-05-11 708
0dd860cf Robert Bragg 2017-05-11 709 /* The tail pointer increases in 64 byte increments,
0dd860cf Robert Bragg 2017-05-11 710 * not in report_size steps...
0dd860cf Robert Bragg 2017-05-11 711 */
0dd860cf Robert Bragg 2017-05-11 712 hw_tail &= ~(report_size - 1);
0dd860cf Robert Bragg 2017-05-11 713
0dd860cf Robert Bragg 2017-05-11 714 now = ktime_get_mono_fast_ns();
0dd860cf Robert Bragg 2017-05-11 715
4117ebc7 Robert Bragg 2017-05-11 716 /* Update the aged tail
4117ebc7 Robert Bragg 2017-05-11 717 *
4117ebc7 Robert Bragg 2017-05-11 718 * Flip the tail pointer available for read()s once the aging tail is
4117ebc7 Robert Bragg 2017-05-11 719 * old enough to trust that the corresponding data will be visible to
4117ebc7 Robert Bragg 2017-05-11 720 * the CPU...
4117ebc7 Robert Bragg 2017-05-11 721 *
4117ebc7 Robert Bragg 2017-05-11 722 * Do this before updating the aging pointer in case we may be able to
4117ebc7 Robert Bragg 2017-05-11 723 * immediately start aging a new pointer too (if new data has become
4117ebc7 Robert Bragg 2017-05-11 724 * available) without needing to wait for a later hrtimer callback.
4117ebc7 Robert Bragg 2017-05-11 725 */
4117ebc7 Robert Bragg 2017-05-11 726 if (aging_tail != INVALID_TAIL_PTR &&
4117ebc7 Robert Bragg 2017-05-11 727 ((now - dev_priv->perf.oa.oa_buffer.aging_timestamp) >
4117ebc7 Robert Bragg 2017-05-11 728 OA_TAIL_MARGIN_NSEC)) {
24459f50 Sourab Gupta 2017-07-31 729 u32 mask = (OA_BUFFER_SIZE - 1);
24459f50 Sourab Gupta 2017-07-31 730 u32 gtt_offset = i915_ggtt_offset(
24459f50 Sourab Gupta 2017-07-31 731 dev_priv->perf.oa.oa_buffer.vma);
24459f50 Sourab Gupta 2017-07-31 732 u32 head = (dev_priv->perf.oa.oa_buffer.head - gtt_offset)
24459f50 Sourab Gupta 2017-07-31 733 & mask;
24459f50 Sourab Gupta 2017-07-31 734 u8 *oa_buf_base = dev_priv->perf.oa.oa_buffer.vaddr;
24459f50 Sourab Gupta 2017-07-31 735 u32 *report32;
19f81df2 Robert Bragg 2017-06-13 736
4117ebc7 Robert Bragg 2017-05-11 737 aged_idx ^= 1;
4117ebc7 Robert Bragg 2017-05-11 738 dev_priv->perf.oa.oa_buffer.aged_tail_idx = aged_idx;
4117ebc7 Robert Bragg 2017-05-11 739
4117ebc7 Robert Bragg 2017-05-11 740 aged_tail = aging_tail;
4117ebc7 Robert Bragg 2017-05-11 741
4117ebc7 Robert Bragg 2017-05-11 742 /* Mark that we need a new pointer to start aging... */
4117ebc7 Robert Bragg 2017-05-11 743 dev_priv->perf.oa.oa_buffer.tails[!aged_idx].offset = INVALID_TAIL_PTR;
4117ebc7 Robert Bragg 2017-05-11 744 aging_tail = INVALID_TAIL_PTR;
24459f50 Sourab Gupta 2017-07-31 745
24459f50 Sourab Gupta 2017-07-31 746 num_reports = OA_TAKEN(((aged_tail - gtt_offset) & mask), head)/
24459f50 Sourab Gupta 2017-07-31 747 report_size;
24459f50 Sourab Gupta 2017-07-31 748
24459f50 Sourab Gupta 2017-07-31 749 /* read the timestamp of last OA report */
24459f50 Sourab Gupta 2017-07-31 750 head = (head + report_size*(num_reports - 1)) & mask;
24459f50 Sourab Gupta 2017-07-31 751 report32 = (u32 *)(oa_buf_base + head);
24459f50 Sourab Gupta 2017-07-31 752 *last_ts = report32[1];
4117ebc7 Robert Bragg 2017-05-11 753 }
4117ebc7 Robert Bragg 2017-05-11 754
0dd860cf Robert Bragg 2017-05-11 755 /* Update the aging tail
0dd860cf Robert Bragg 2017-05-11 756 *
0dd860cf Robert Bragg 2017-05-11 757 * We throttle aging tail updates until we have a new tail that
0dd860cf Robert Bragg 2017-05-11 758 * represents >= one report more data than is already available for
0dd860cf Robert Bragg 2017-05-11 759 * reading. This ensures there will be enough data for a successful
0dd860cf Robert Bragg 2017-05-11 760 * read once this new pointer has aged and ensures we will give the new
0dd860cf Robert Bragg 2017-05-11 761 * pointer time to age.
0dd860cf Robert Bragg 2017-05-11 762 */
0dd860cf Robert Bragg 2017-05-11 763 if (aging_tail == INVALID_TAIL_PTR &&
0dd860cf Robert Bragg 2017-05-11 764 (aged_tail == INVALID_TAIL_PTR ||
0dd860cf Robert Bragg 2017-05-11 765 OA_TAKEN(hw_tail, aged_tail) >= report_size)) {
0dd860cf Robert Bragg 2017-05-11 766 struct i915_vma *vma = dev_priv->perf.oa.oa_buffer.vma;
0dd860cf Robert Bragg 2017-05-11 767 u32 gtt_offset = i915_ggtt_offset(vma);
0dd860cf Robert Bragg 2017-05-11 768
0dd860cf Robert Bragg 2017-05-11 769 /* Be paranoid and do a bounds check on the pointer read back
0dd860cf Robert Bragg 2017-05-11 770 * from hardware, just in case some spurious hardware condition
0dd860cf Robert Bragg 2017-05-11 771 * could put the tail out of bounds...
0dd860cf Robert Bragg 2017-05-11 772 */
0dd860cf Robert Bragg 2017-05-11 773 if (hw_tail >= gtt_offset &&
0dd860cf Robert Bragg 2017-05-11 774 hw_tail < (gtt_offset + OA_BUFFER_SIZE)) {
0dd860cf Robert Bragg 2017-05-11 775 dev_priv->perf.oa.oa_buffer.tails[!aged_idx].offset =
0dd860cf Robert Bragg 2017-05-11 776 aging_tail = hw_tail;
0dd860cf Robert Bragg 2017-05-11 777 dev_priv->perf.oa.oa_buffer.aging_timestamp = now;
0dd860cf Robert Bragg 2017-05-11 778 } else {
0dd860cf Robert Bragg 2017-05-11 779 DRM_ERROR("Ignoring spurious out of range OA buffer tail pointer = %u\n",
0dd860cf Robert Bragg 2017-05-11 780 hw_tail);
0dd860cf Robert Bragg 2017-05-11 781 }
0dd860cf Robert Bragg 2017-05-11 782 }
0dd860cf Robert Bragg 2017-05-11 783
0dd860cf Robert Bragg 2017-05-11 784 spin_unlock_irqrestore(&dev_priv->perf.oa.oa_buffer.ptr_lock, flags);
0dd860cf Robert Bragg 2017-05-11 785
24459f50 Sourab Gupta 2017-07-31 786 return aged_tail == INVALID_TAIL_PTR ? 0 : num_reports;
d7965152 Robert Bragg 2016-11-07 787 }
d7965152 Robert Bragg 2016-11-07 788
:::::: The code at line 684 was first introduced by commit
:::::: d79651522e89c4ffa8992b48dfe449f0c583f809 drm/i915: Enable i915 perf stream for Haswell OA unit
:::::: TO: Robert Bragg <robert at sixbynine.org>
:::::: CC: Daniel Vetter <daniel.vetter at ffwll.ch>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 6735 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20170801/d924f6e1/attachment-0001.gz>
More information about the Intel-gfx
mailing list