From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B252C14D2B7; Wed, 27 Mar 2024 17:38:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711561105; cv=none; b=u/Az7UE0bJGtleWPvv/NeinNYeUPdDyfzkQULyAxx7ztmIF7UbYv0uRg7mYDts+TalAhtR47T50Y3rEG2JdOpbvScSTfcTZXf/f2ncXJDiNaZLB364DEiCT7qBXCdRRl9gwk7DWmu8Kx+FPEXKf7MV0gTLQdfIs+gAD/orUeNwo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711561105; c=relaxed/simple; bh=HJ3tBpdQ4Oiv5nOFCN/0bsR0b2Bz3SiklzApfAAPuDA=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=owhBidRzTnp9qM2Pfr8X71YSOhyjaNmGFT0ygFHgU/5IiNCNTk6RFCJHtqtTIqhMEi38FxzUSz5qrCEnqB0TrYGSLoDIZdmltQpZesEqKPBU9ETqA9iGWbCFwJb27lsmMPmamTOBZY3lAFaXerb36opeJ3tHSLDpq82Xwio575U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=eRAeICEN; arc=none smtp.client-ip=198.175.65.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="eRAeICEN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711561101; x=1743097101; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=HJ3tBpdQ4Oiv5nOFCN/0bsR0b2Bz3SiklzApfAAPuDA=; b=eRAeICENztLz07usrR5gVhHZDwPnaNsa0w2EkP7ll+PXI4vVVoIQcCrm BNrxaLx+SY/O5Yp4PLwQWaxdIBBHLopbOD82XLqBjrMC6y9JsM0CBaB04 EFVQTzQizdVfRs85mPn4ZMxYBtONdpCkKqdsbyWlPYzrTG+39aLUT6/CC lkzAoYfm2vBmCYGRvz5qqJvB6gBP2PkBtrwYrsFjkixAqmxf8USNrWTyq Yhun8sYeydazyaVhNQsaQnSZb5bbHTf9JKQgJqbHpt5rnryLdxZQ49gbq iPQTgVGaSoNllqx6vCXbMfnKWwghcCs8syPdiXTomR/vGpYXITlnx+Prw g==; X-CSE-ConnectionGUID: avoIrwMER46Cs+ajxG8Nbg== X-CSE-MsgGUID: cvnyzg0RTLeRIOeiAzuNGw== X-IronPort-AV: E=McAfee;i="6600,9927,11026"; a="17824571" X-IronPort-AV: E=Sophos;i="6.07,159,1708416000"; d="scan'208";a="17824571" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2024 10:38:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,159,1708416000"; d="scan'208";a="16997871" Received: from djiang5-mobl3.amr.corp.intel.com (HELO [10.212.56.222]) ([10.212.56.222]) by orviesa008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2024 10:38:20 -0700 Message-ID: <0fe33a0b-39a7-447f-bfe5-0f0dd656c078@intel.com> Date: Wed, 27 Mar 2024 10:38:19 -0700 Precedence: bulk X-Mailing-List: linux-btrfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 10/26] cxl/events: Factor out event msgnum configuration Content-Language: en-US To: Ira Weiny , Fan Ni , Jonathan Cameron , Navneet Singh Cc: Dan Williams , Davidlohr Bueso , Alison Schofield , Vishal Verma , linux-btrfs@vger.kernel.org, linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org References: <20240324-dcd-type2-upstream-v1-0-b7b00d623625@intel.com> <20240324-dcd-type2-upstream-v1-10-b7b00d623625@intel.com> From: Dave Jiang In-Reply-To: <20240324-dcd-type2-upstream-v1-10-b7b00d623625@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/24/24 4:18 PM, Ira Weiny wrote: > Dynamic Capacity Devices (DCD) require events to process extent addition > or removal. BIOS may have control over memory event processing. > > Factor out cxl_event_config_msgnums() in preparation for setting up DCD > event interrupts separate from memory events. > > Signed-off-by: Ira Weiny Reviewed-by: Dave Jiang > --- > drivers/cxl/pci.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c > index 216881455364..cedd9b05f129 100644 > --- a/drivers/cxl/pci.c > +++ b/drivers/cxl/pci.c > @@ -698,35 +698,31 @@ static int cxl_event_config_msgnums(struct cxl_memdev_state *mds, > return cxl_event_get_int_policy(mds, policy); > } > > -static int cxl_event_irqsetup(struct cxl_memdev_state *mds) > +static int cxl_event_irqsetup(struct cxl_memdev_state *mds, > + struct cxl_event_interrupt_policy *policy) > { > struct cxl_dev_state *cxlds = &mds->cxlds; > - struct cxl_event_interrupt_policy policy; > int rc; > > - rc = cxl_event_config_msgnums(mds, &policy); > - if (rc) > - return rc; > - > - rc = cxl_event_req_irq(cxlds, policy.info_settings); > + rc = cxl_event_req_irq(cxlds, policy->info_settings); > if (rc) { > dev_err(cxlds->dev, "Failed to get interrupt for event Info log\n"); > return rc; > } > > - rc = cxl_event_req_irq(cxlds, policy.warn_settings); > + rc = cxl_event_req_irq(cxlds, policy->warn_settings); > if (rc) { > dev_err(cxlds->dev, "Failed to get interrupt for event Warn log\n"); > return rc; > } > > - rc = cxl_event_req_irq(cxlds, policy.failure_settings); > + rc = cxl_event_req_irq(cxlds, policy->failure_settings); > if (rc) { > dev_err(cxlds->dev, "Failed to get interrupt for event Failure log\n"); > return rc; > } > > - rc = cxl_event_req_irq(cxlds, policy.fatal_settings); > + rc = cxl_event_req_irq(cxlds, policy->fatal_settings); > if (rc) { > dev_err(cxlds->dev, "Failed to get interrupt for event Fatal log\n"); > return rc; > @@ -745,7 +741,7 @@ static bool cxl_event_int_is_fw(u8 setting) > static int cxl_event_config(struct pci_host_bridge *host_bridge, > struct cxl_memdev_state *mds, bool irq_avail) > { > - struct cxl_event_interrupt_policy policy; > + struct cxl_event_interrupt_policy policy = { 0 }; > int rc; > > /* > @@ -777,7 +773,11 @@ static int cxl_event_config(struct pci_host_bridge *host_bridge, > return -EBUSY; > } > > - rc = cxl_event_irqsetup(mds); > + rc = cxl_event_config_msgnums(mds, &policy); > + if (rc) > + return rc; > + > + rc = cxl_event_irqsetup(mds, &policy); > if (rc) > return rc; > >