From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH i-g-t] kms_cursor_crc: Move igt_pipe_crc_{new, free} to init Date: Thu, 22 May 2014 20:12:58 +0300 Message-ID: <20140522171258.GB27580@intel.com> References: <1400777259-20091-1-git-send-email-matthew.d.roper@intel.com> <20140522170109.GY27580@intel.com> <20140522170637.GM31484@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by gabe.freedesktop.org (Postfix) with ESMTP id 5D6F46EC93 for ; Thu, 22 May 2014 10:13:10 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20140522170637.GM31484@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Thu, May 22, 2014 at 10:06:37AM -0700, Matt Roper wrote: > On Thu, May 22, 2014 at 08:01:09PM +0300, Ville Syrj=E4l=E4 wrote: > > On Thu, May 22, 2014 at 09:47:39AM -0700, Matt Roper wrote: > > > If a subtest fails, cleanup_crtc() never gets called. Currently that > > > also causes igt_pipe_crc_free() to never be called, leading all > > > subsequent subtests to also fail with -EBUSY at igt_pipe_crc_new(). > > > Move the calls to igt_pipe_crc_{new,free} into igt_main so that > > > we don't need to worry about closing and reopening the CRC > > > filedescriptor for each subtest. > > = > > IIRC we can't call them at init because when you call igt_pipe_crc_new() > > the pipe->port mapping has to be properly set up so that the auto crc > > source will know what to do. > > = > > The subtest failure case is the reason why at the start of every subtest > > we call igt_pipe_crc_free() before calling igt_pipe_crc_new(). Are you > > saying that's not working as intended? > = > Right, you're working on a fresh test_data structure for each call of > run_test(), so you've already lost the test_data->pipe_crc pointer that > you're trying to check for NULL there. > = > I guess the right fix is to move the pipe_crc pointer up into data_t > rather than test_data_t? I guess just kill test_data_t and shovel everything into data_t. I don't remember why the test_data_t came to be there, but I don't think it serves any purpose anymore. -- = Ville Syrj=E4l=E4 Intel OTC