Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1215492ybh; Mon, 13 Jul 2020 12:18:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxoHSk01rSoISugTmIXw/mK419wxLjKiK6z9lyhAtMMOUvMM3uz11PGQu/IRqpk0vzqR2Ue X-Received: by 2002:aa7:c808:: with SMTP id a8mr889711edt.259.1594667921402; Mon, 13 Jul 2020 12:18:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594667921; cv=none; d=google.com; s=arc-20160816; b=g2s116eBOVODKZ5LJPBuiLVkF2yt4TBjYZ2FNbXLjVzUKZ4ZzViXnZzlToLmi0ztsa c2AUMzUMQZDZ4+p5cUGtiVLVBs6d98GK6fWYFs1QtU57rE569XjsHDqF87dmPlhWe4i/ daSxl3eh3F0710T3ssCldHA4qgG4SZR7OaBsvPMbf9M2OIQf9C8kizV9D4JKb+YUxXbn JI3qbBvf4/trEo9G1YSTxwzDCBp7tE+P8ggmB4QzCIzCUxc1YcaB0bg2Dfadvs34nzLE T7T5kKbcotUstmt772BHEkYkQfnzuVJxknIp/8BTxQ8Z6dRB6+sW5jGbBL9rSLNmKGHR XbXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=aS96+SKonMbzF3qauDttQSLJqAdryflRMQ4e0mytXzM=; b=wQu8HynYdFXu19lsi3O3IPNmyQSCJMLXXINnGy+BK4mHg/3VfZ0qcxWa7Oqv6N3B2Q kx1GJf1XihDB4S/YTaYHRm1wSeIIHJ6oah6pz7wHQ4JNQlekwaBIyWYni/lRdF5JphDV EM3KBc4k5+l90QAKeejGCTX6BZWP7zzlrU+fZ7UL+PNr3Mk5qmqbfo+j7QuIxNcvDLtP /tOEIZBdldQrJxb/cvPZ16jdbhOMIckH4eijfuhBfXmugONwrYEuZHxVGPK1ZVMzXWkY AIM6jPuKX30W41ayQhYfxP76N4+i16fN+o3tCVJjqmHRa0BE5GqHaVN9sauNuxMurrsv ydnQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ca17si9924401ejb.533.2020.07.13.12.18.15; Mon, 13 Jul 2020 12:18:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726345AbgGMTSO convert rfc822-to-8bit (ORCPT + 99 others); Mon, 13 Jul 2020 15:18:14 -0400 Received: from coyote.holtmann.net ([212.227.132.17]:35879 "EHLO mail.holtmann.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726347AbgGMTSO (ORCPT ); Mon, 13 Jul 2020 15:18:14 -0400 Received: from marcel-macbook.fritz.box (p5b3d2638.dip0.t-ipconnect.de [91.61.38.56]) by mail.holtmann.org (Postfix) with ESMTPSA id 1791CCECCE; Mon, 13 Jul 2020 21:28:10 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: [PATCH v2 4/5] Bluetooth: btintel: Define tlv structure for new generation Controllers From: Marcel Holtmann In-Reply-To: <20200703071212.17046-4-kiran.k@intel.com> Date: Mon, 13 Jul 2020 21:18:11 +0200 Cc: Bluetooth Kernel Mailing List , ravishankar.srivatsa@intel.com, chethan.tumkur.narayan@intel.com, kiraank@gmail.com, Amit K Bag , Raghuram Hegde Content-Transfer-Encoding: 8BIT Message-Id: <06420AF3-C3AE-44A3-95DC-0A99BE845FC5@holtmann.org> References: <20200703071212.17046-1-kiran.k@intel.com> <20200703071212.17046-4-kiran.k@intel.com> To: Kiran K X-Mailer: Apple Mail (2.3608.80.23.2.2) Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Hi Kiran, > Define structure used for reading controller information and > to downloading firmware in tlv format used for new generation > Intel controllers > > Signed-off-by: Kiran K > Signed-off-by: Amit K Bag > Signed-off-by: Raghuram Hegde > Reviewed-by: Chethan T N > Reviewed-by: Sathish Narasimman > Reviewed-by: Srivatsa Ravishankar > --- > > Changes in v2: None > Changes in v1: > - Add tlv structure definition > > > drivers/bluetooth/btintel.h | 85 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 85 insertions(+) > > diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h > index 0865d2d4aca7..20007da6b9bd 100644 > --- a/drivers/bluetooth/btintel.h > +++ b/drivers/bluetooth/btintel.h > @@ -6,6 +6,90 @@ > * Copyright (C) 2015 Intel Corporation > */ > > +/* List of tlv type */ > +enum { > + INTEL_TLV_CNVI_TOP = 0x10, > + INTEL_TLV_CNVR_TOP, > + INTEL_TLV_CNVI_BT, > + INTEL_TLV_CNVR_BT, > + INTEL_TLV_CNVI_OTP, > + INTEL_TLV_CNVR_OTP, > + INTEL_TLV_DEV_REV_ID, > + INTEL_TLV_USB_VENDOR_ID, > + INTEL_TLV_USB_PRODUCT_ID, > + INTEL_TLV_PCIE_VENDOR_ID, > + INTEL_TLV_PCIE_DEVICE_ID, > + INTEL_TLV_PCIE_SUBSYSTEM_ID, > + INTEL_TLV_IMAGE_TYPE, > + INTEL_TLV_TIME_STAMP, > + INTEL_TLV_BUILD_TYPE, > + INTEL_TLV_BUILD_NUM, > + INTEL_TLV_FW_BUILD_PRODUCT, > + INTEL_TLV_FW_BUILD_HW, > + INTEL_TLV_FW_STEP, > + INTEL_TLV_BT_SPEC, > + INTEL_TLV_MFG_NAME, > + INTEL_TLV_HCI_REV, > + INTEL_TLV_LMP_SUBVER, > + INTEL_TLV_OTP_PATCH_VER, > + INTEL_TLV_SECURE_BOOT, > + INTEL_TLV_KEY_FROM_HDR, > + INTEL_TLV_OTP_LOCK, > + INTEL_TLV_API_LOCK, > + INTEL_TLV_DEBUG_LOCK, > + INTEL_TLV_MIN_FW, > + INTEL_TLV_LIMITED_CCE, > + INTEL_TLV_SBE_TYPE, > + INTEL_TLV_OTP_BDADDR, > + INTEL_TLV_UNLOCKED_STATE > +}; > + > +struct intel_tlv { > + u8 type; > + u8 len; > + u8 val[0]; > +} __packed; > + > +struct intel_version_tlv { > + u8 status; > + u32 cnvi_top; > + u32 cnvr_top; > + u32 cnvi_bt; > + u32 cnvr_bt; > + u16 cnvi_otp; > + u16 cnvr_otp; > + u16 dev_rev_id; > + u16 usb_vid; > + u16 usb_pid; > + u16 pcie_vendor_id; > + u16 pcie_dev_id; > + u16 pcie_subsys_id; > + u8 img_type; > + u16 timestamp; > + u8 build_type; > + u32 build_num; > + u8 fw_build_prod; > + u8 fw_build_hw; > + u8 fw_build_step; > + u8 bt_spec_ver; > + u16 mfg_name; > + u16 hci_rev; > + u16 lmp_sub_ver; > + u8 otp_patch_ver; > + u8 secure_boot; > + u8 key_from_hdr; > + u8 otp_lock; > + u8 api_lock; > + u8 debug_lock; > + u8 min_fw_build_nn; > + u8 min_fw_build_cw; > + u8 min_fw_build_yy; > + u8 limited_cce; > + u8 sbe_type; > + bdaddr_t otp_bd_addr; > + u8 unlocked_state; > +} __packed; > + This is not required to be __packed. It is not a on-wire structure. In addition, I would just only include the data fields we currently require or want to show in dmesg. Regards Marcel