Message ID | 1502299074-62988-1-git-send-email-syeh@vmware.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 09, 2017 at 07:17:54PM +0200, Sinclair Yeh wrote: > From: Thomas Hellstrom <thellstrom@vmware.com> > > See LWN article at > https://lwn.net/Articles/302043/ > > Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> > Reviewed-by: Deepak Singh Rawat <drawat@vmware.com> > Reviewed-by: Sinclair Yeh <syeh@vmware.com> We definitely can't do this in general due to latency reasons. Please read the kerneldoc of drm_irq_install and just roll your own. This also seems to like break every driver's compilation. Thanks, Daniel > --- > drivers/gpu/drm/drm_irq.c | 6 ++++-- > include/drm/drm_drv.h | 1 + > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c > index 3b04c2510..ef9b4be 100644 > --- a/drivers/gpu/drm/drm_irq.c > +++ b/drivers/gpu/drm/drm_irq.c > @@ -127,8 +127,10 @@ int drm_irq_install(struct drm_device *dev, int irq) > if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) > sh_flags = IRQF_SHARED; > > - ret = request_irq(irq, dev->driver->irq_handler, > - sh_flags, dev->driver->name, dev); > + ret = request_threaded_irq(irq, > + dev->driver->irq_handler, > + dev->driver->irq_thread_fn, > + sh_flags, dev->driver->name, dev); > > if (ret < 0) { > dev->irq_enabled = false; > diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h > index 81971dc..c47abbf 100644 > --- a/include/drm/drm_drv.h > +++ b/include/drm/drm_drv.h > @@ -333,6 +333,7 @@ struct drm_driver { > * drivers which implement their own interrupt handling. > */ > irqreturn_t(*irq_handler) (int irq, void *arg); > + irqreturn_t (*irq_thread_fn)(int irq, void *arg); > > /** > * @irq_preinstall: > -- > 2.7.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Wed, Aug 09, 2017 at 07:38:29PM +0200, Daniel Vetter wrote: > On Wed, Aug 09, 2017 at 07:17:54PM +0200, Sinclair Yeh wrote: > > From: Thomas Hellstrom <thellstrom@vmware.com> > > > > See LWN article at > > https://lwn.net/Articles/302043/ > > > > Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> > > Reviewed-by: Deepak Singh Rawat <drawat@vmware.com> > > Reviewed-by: Sinclair Yeh <syeh@vmware.com> > > We definitely can't do this in general due to latency reasons. Please > read the kerneldoc of drm_irq_install and just roll your own. This also > seems to like break every driver's compilation. Oops misread, I thought you rename stuff instead of adding. I still don't see the point - drm_irq_install happened because of the *bsd abstraction layer, not because it's actually all that useful. -Daniel
On 08/09/2017 07:40 PM, Daniel Vetter wrote: > On Wed, Aug 09, 2017 at 07:38:29PM +0200, Daniel Vetter wrote: >> On Wed, Aug 09, 2017 at 07:17:54PM +0200, Sinclair Yeh wrote: >>> From: Thomas Hellstrom <thellstrom@vmware.com> >>> >>> See LWN article at >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lwn.net_Articles_302043_&d=DwIBAg&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=NYyVOtVu5iQrNCGt-QcVtR_IU0lhhztOmFP3qnN88tc&s=ruWozYT16Yk3p7sIscOFDNKCC1_WHX_7ChY7q5Ko4vw&e= >>> >>> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> >>> Reviewed-by: Deepak Singh Rawat <drawat@vmware.com> >>> Reviewed-by: Sinclair Yeh <syeh@vmware.com> >> We definitely can't do this in general due to latency reasons. Please >> read the kerneldoc of drm_irq_install and just roll your own. This also >> seems to like break every driver's compilation. > Oops misread, I thought you rename stuff instead of adding. I still don't > see the point - drm_irq_install happened because of the *bsd abstraction > layer, not because it's actually all that useful. > -Daniel So the whole point of this is to replace the vmwgfx tasklets with treaded irqs to be nicer on the system. Seems like no other drivers use tasklets at this point. The vmwgfx driver is using drm_irq_install(), Of course we could duplicate that code into the driver, but I don't see the point in doing that nor how this would violate what's written in the drm_irq_install kerneldoc? It just extends its functionality somewhat. Thomas
On Wed, Aug 9, 2017 at 7:50 PM, Thomas Hellstrom <thellstrom@vmware.com> wrote: > On 08/09/2017 07:40 PM, Daniel Vetter wrote: >> >> On Wed, Aug 09, 2017 at 07:38:29PM +0200, Daniel Vetter wrote: >>> >>> On Wed, Aug 09, 2017 at 07:17:54PM +0200, Sinclair Yeh wrote: >>>> >>>> From: Thomas Hellstrom <thellstrom@vmware.com> >>>> >>>> See LWN article at >>>> >>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lwn.net_Articles_302043_&d=DwIBAg&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=NYyVOtVu5iQrNCGt-QcVtR_IU0lhhztOmFP3qnN88tc&s=ruWozYT16Yk3p7sIscOFDNKCC1_WHX_7ChY7q5Ko4vw&e= >>>> >>>> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> >>>> Reviewed-by: Deepak Singh Rawat <drawat@vmware.com> >>>> Reviewed-by: Sinclair Yeh <syeh@vmware.com> >>> >>> We definitely can't do this in general due to latency reasons. Please >>> read the kerneldoc of drm_irq_install and just roll your own. This also >>> seems to like break every driver's compilation. >> >> Oops misread, I thought you rename stuff instead of adding. I still don't >> see the point - drm_irq_install happened because of the *bsd abstraction >> layer, not because it's actually all that useful. >> -Daniel > > > So the whole point of this is to replace the vmwgfx tasklets with treaded > irqs to be nicer on the system. Seems like no other drivers use tasklets at > this point. > > The vmwgfx driver is using drm_irq_install(), Of course we could duplicate > that code into the driver, but I don't see the point in doing that nor how > this would violate what's written in the drm_irq_install kerneldoc? It just > extends its functionality somewhat. Ok, it only says you should roll your own if your simple needs extend to needing multiple devices, but threaded interrupts, priorities, whatever else also belongs in there. The only reason we had this abstraction was really only the *bsd stuff and maybe ums. Simply open-coding is imo much better, since then you can even do stuff like using the devm_ variants and other bits. It's not so bad that I'd outright remove it all (there's better things to clean up), but imo really no point extending it. That's pretty much the same answer as when people wanted to extend this to multiple devices 3 years ago, again with "it's just a minor extension". -Daniel
On 08/09/2017 08:00 PM, Daniel Vetter wrote: > On Wed, Aug 9, 2017 at 7:50 PM, Thomas Hellstrom <thellstrom@vmware.com> wrote: >> On 08/09/2017 07:40 PM, Daniel Vetter wrote: >>> On Wed, Aug 09, 2017 at 07:38:29PM +0200, Daniel Vetter wrote: >>>> On Wed, Aug 09, 2017 at 07:17:54PM +0200, Sinclair Yeh wrote: >>>>> From: Thomas Hellstrom <thellstrom@vmware.com> >>>>> >>>>> See LWN article at >>>>> >>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lwn.net_Articles_302043_&d=DwIBAg&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=NYyVOtVu5iQrNCGt-QcVtR_IU0lhhztOmFP3qnN88tc&s=ruWozYT16Yk3p7sIscOFDNKCC1_WHX_7ChY7q5Ko4vw&e= >>>>> >>>>> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> >>>>> Reviewed-by: Deepak Singh Rawat <drawat@vmware.com> >>>>> Reviewed-by: Sinclair Yeh <syeh@vmware.com> >>>> We definitely can't do this in general due to latency reasons. Please >>>> read the kerneldoc of drm_irq_install and just roll your own. This also >>>> seems to like break every driver's compilation. >>> Oops misread, I thought you rename stuff instead of adding. I still don't >>> see the point - drm_irq_install happened because of the *bsd abstraction >>> layer, not because it's actually all that useful. >>> -Daniel >> >> So the whole point of this is to replace the vmwgfx tasklets with treaded >> irqs to be nicer on the system. Seems like no other drivers use tasklets at >> this point. >> >> The vmwgfx driver is using drm_irq_install(), Of course we could duplicate >> that code into the driver, but I don't see the point in doing that nor how >> this would violate what's written in the drm_irq_install kerneldoc? It just >> extends its functionality somewhat. > Ok, it only says you should roll your own if your simple needs extend > to needing multiple devices, but threaded interrupts, priorities, > whatever else also belongs in there. The only reason we had this > abstraction was really only the *bsd stuff and maybe ums. Simply > open-coding is imo much better, since then you can even do stuff like > using the devm_ variants and other bits. It's not so bad that I'd > outright remove it all (there's better things to clean up), but imo > really no point extending it. > > That's pretty much the same answer as when people wanted to extend > this to multiple devices 3 years ago, again with "it's just a minor > extension". > -Daniel OK. We'll roll our own. /Thomas
Hi Thomas,
[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.13-rc4 next-20170810]
[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/Sinclair-Yeh/drm-Support-drivers-with-threaded-irqs/20170811-025749
base: git://people.freedesktop.org/~airlied/linux.git drm-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/sync_file.h:51: warning: No description found for parameter 'flags'
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:594: warning: No description found for parameter 'irq_thread_fn'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_pin'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_unpin'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_res_obj'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_get_sg_table'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_import_sg_table'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_vmap'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_vunmap'
include/drm/drm_drv.h:594: warning: No description found for parameter 'gem_prime_mmap'
include/drm/drm_mode_config.h:771: warning: No description found for parameter 'modifiers_property'
include/drm/drm_mode_config.h:771: warning: Excess struct/union/enum/typedef member 'modifiers' description in 'drm_mode_config'
include/drm/drm_plane.h:544: warning: No description found for parameter 'modifiers'
include/drm/drm_plane.h:544: warning: No description found for parameter 'modifier_count'
Documentation/doc-guide/sphinx.rst:121: ERROR: Unknown target name: "sphinx c domain".
kernel/sched/fair.c:7584: WARNING: Inline emphasis start-string without end-string.
kernel/time/timer.c:1200: ERROR: Unexpected indentation.
kernel/time/timer.c:1202: ERROR: Unexpected indentation.
kernel/time/timer.c:1203: WARNING: Block quote ends without a blank line; unexpected unindent.
include/linux/wait.h:108: WARNING: Block quote ends without a blank line; unexpected unindent.
include/linux/wait.h:111: ERROR: Unexpected indentation.
include/linux/wait.h:113: WARNING: Block quote ends without a blank line; unexpected unindent.
kernel/time/hrtimer.c:991: WARNING: Block quote ends without a blank line; unexpected unindent.
kernel/signal.c:323: WARNING: Inline literal start-string without end-string.
kernel/rcu/tree.c:3187: ERROR: Unexpected indentation.
kernel/rcu/tree.c:3214: ERROR: Unexpected indentation.
kernel/rcu/tree.c:3215: WARNING: Bullet list ends without a blank line; unexpected unindent.
include/linux/iio/iio.h:219: ERROR: Unexpected indentation.
include/linux/iio/iio.h:220: WARNING: Block quote ends without a blank line; unexpected unindent.
include/linux/iio/iio.h:226: WARNING: Definition list ends without a blank line; unexpected unindent.
drivers/iio/industrialio-core.c:633: ERROR: Unknown target name: "iio_val".
drivers/iio/industrialio-core.c:640: ERROR: Unknown target name: "iio_val".
drivers/ata/libata-core.c:5906: ERROR: Unknown target name: "hw".
drivers/message/fusion/mptbase.c:5051: WARNING: Definition list ends without a blank line; unexpected unindent.
drivers/tty/serial/serial_core.c:1897: WARNING: Definition list ends without a blank line; unexpected unindent.
drivers/pci/pci.c:3470: ERROR: Unexpected indentation.
include/linux/regulator/driver.h:271: ERROR: Unknown target name: "regulator_regmap_x_voltage".
include/linux/spi/spi.h:373: ERROR: Unexpected indentation.
drivers/w1/w1_io.c:196: WARNING: Definition list ends without a blank line; unexpected unindent.
block/bio.c:404: ERROR: Unknown target name: "gfp".
sound/soc/soc-core.c:2703: ERROR: Unknown target name: "snd_soc_daifmt".
sound/core/jack.c:312: ERROR: Unknown target name: "snd_jack_btn".
Documentation/media/v4l-drivers/imx.rst:: WARNING: document isn't included in any toctree
Documentation/virtual/kvm/vcpu-requests.rst:: WARNING: document isn't included in any toctree
Documentation/dev-tools/kselftest.rst:15: WARNING: Could not lex literal_block as "c". Highlighting skipped.
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 43: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 56: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 69: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 82: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 96: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 109: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 122: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 133: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 164: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 193: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 43: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 56: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 69: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 82: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 96: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 109: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 122: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 133: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 164: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 193: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 43: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 56: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 69: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 82: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 96: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 109: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 122: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 133: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 164: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 193: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 43: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 56: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 69: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 82: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 96: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 109: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 122: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 133: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 164: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 193: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 43: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 56: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 69: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 82: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 96: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 109: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 122: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 133: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 164: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/home/kbuild/.config/fontconfig/fonts.conf", line 193: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 43: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 56: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 69: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 82: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 96: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 109: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "~/.fonts.conf", line 122: Having multiple values in <test> isn't supported and may not work as expected
vim +/irq_thread_fn +594 include/drm/drm_drv.h
85e634bc Daniel Vetter 2016-11-14 @594
:::::: The code at line 594 was first introduced by commit
:::::: 85e634bce01af582a0fa549c904154b0e3c56db5 drm: Extract drm_drv.h
:::::: TO: Daniel Vetter <daniel.vetter@ffwll.ch>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 3b04c2510..ef9b4be 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -127,8 +127,10 @@ int drm_irq_install(struct drm_device *dev, int irq) if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) sh_flags = IRQF_SHARED; - ret = request_irq(irq, dev->driver->irq_handler, - sh_flags, dev->driver->name, dev); + ret = request_threaded_irq(irq, + dev->driver->irq_handler, + dev->driver->irq_thread_fn, + sh_flags, dev->driver->name, dev); if (ret < 0) { dev->irq_enabled = false; diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 81971dc..c47abbf 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -333,6 +333,7 @@ struct drm_driver { * drivers which implement their own interrupt handling. */ irqreturn_t(*irq_handler) (int irq, void *arg); + irqreturn_t (*irq_thread_fn)(int irq, void *arg); /** * @irq_preinstall: