From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [PATCH 02/11] drm/i915: Clarify event_lock locking, irq&mixed context Date: Mon, 29 Sep 2014 20:45:56 +0800 Message-ID: <54295484.8030604@intel.com> References: <1410785732-18553-1-git-send-email-daniel.vetter@ffwll.ch> <1410785732-18553-3-git-send-email-daniel.vetter@ffwll.ch> <5428FA2B.8030005@intel.com> <20140929122012.GE4109@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 67DAE6E170 for ; Mon, 29 Sep 2014 05:50:27 -0700 (PDT) In-Reply-To: <20140929122012.GE4109@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On 09/29/2014 08:20 PM, Daniel Vetter wrote: > On Mon, Sep 29, 2014 at 02:20:27PM +0800, Jike Song wrote: >> On 09/15/2014 08:55 PM, Daniel Vetter wrote: >>> Now we tackle the functions also called from interrupt handlers. >>> >>> - intel_check_page_flip is exclusively called from irq handlers, so a >>> plain spin_lock is all we need. In i915_irq.c we have the convention >>> to give all such functions an _irq_handler postfix, but that would >>> look strange and als be a bit a misleading name. I've opted for a >>> WARN_ON(!in_irq()) instead. >> >> Hi Daniel, >> >> Is it possible to use in_interrupt() instead? Sorry to tell that, in >> our iGVT-g implementation, the host i915 irq handler needs to be called >> in a non hardirq driven context. i.e. a tasklet or workqueue. > > Hm, why that? Depending upon how you do this you might break a lot of the > interrupt related locking we have ... This is a crucial integration issue, > which patch does that change? > -Daniel The RFC patch set is not sent out yet, hopefully in 1~2 days :) Yes I know it's not a good implementation ... I also wish there would be a better way to go :) -- Thanks, Jike