Search Linux Wireless

Re: [PATCH 2/2] ath10k: Support extended board data download for dual-band QCA9984

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sathishkumar Muruganandam <murugana@xxxxxxxxxxxxxx> wrote:

> To support dual-band variant of QCA9984, new extended board data (eBDF)
> is introduced since existing board data ran out of space.
> 
> Below is the brief implementation & design detail,
> ----------------------------------------------------
> 
> 1. New OTP changes to inform eBDF support in existing OTP download to
> fetch board ID and chip ID. This is backward compatible and older
> card sends 0 by default for eBDF support bit (bit 18 of OTP response) we
> check in ath10k driver.
> 
> 2. If eBDF is supported, then we need to fetch eBDF ID which is bundled
> in downloaded board data. So again OTP is executed for knowing the eBDF ID.
> This is done once we set 'board_data_initialized' bit. If eBDF ID
> returned is zero, we continue booting with previous board data downloaded.
> 
> 3. Based on the eBDF ID fetched, ath10k driver tries to download the
> extended board data to a new offset ahead of already downloaded board
> data address.
> 
> 4. A new BD IE type, ATH10K_BD_IE_BOARD_EXT is added to differentiate in
> bundling eBDF separately in board-2.bin and also to parse through
> board bundle for eBDF download in ath10k boot.
> 
> 5. If eBDF is not present in the board-2.bin bundle or when board ID is
> zero, we do a fallback boot to "eboard.bin" in the same QCA9984/hw1.0 dir.
> This is same as done to existing "board.bin" if board ID is not present
> in board-2.bin bundle.
> 
> Current design is that eBDF size will be 2KB and eBDF ID will be
> byte value.
> 
> Tested the above changes with dual-band variant of QCA9984 card. OTP
> update needed for the test will be part of next FW release 10.4-3.6-xxxx.
> 
> Below are the logs with ath10k BOOT debugs enabled.
> 
> First OTP response :
> ---------------------
> ..
> boot upload otp to 0x1234 len 9478 for board id
> boot get otp board id result 0x00040400 board_id 1 chip_id 0 ext_bid_support 1
> ..
> 
> Second OTP response :
> ---------------------
> ..
> boot upload otp to 0x1234 len 9478 for ext board id
> boot get otp ext board id result 0x00000005 ext_board_id 5
> boot using eboard name 'bus=pci,bmi-chip-id=0,bmi-eboard-id=5'
> ..
> 
> Extended board data download:
> ------------------------------
> ..
> board name
> 00000000: 62 75 73 3d 70 63 69 2c 62 6d 69 2d 63 68 69 70  bus=pci,bmi-chip
> 00000010: 2d 69 64 3d 30 2c 62 6d 69 2d 65 62 6f 61 72 64  -id=0,bmi-eboard
> 00000020: 2d 69 64 3d 35                                   -id=5
> boot found match for name 'bus=pci,bmi-chip-id=0,bmi-eboard-id=5'
> boot found eboard data for 'bus=pci,bmi-chip-id=0,bmi-eboard-id=5'
> using board api 2
> boot writing ext board data to addr 0xc3000
> ..
> 
> Fallback Extended board data download from "eboard.bin":
> ---------------------------------------------------------
> ..
> board name
> 00000000: 62 75 73 3d 70 63 69 2c 62 6d 69 2d 63 68 69 70  bus=pci,bmi-chip
> 00000010: 2d 69 64 3d 30 2c 62 6d 69 2d 62 6f 61 72 64 2d  -id=0,bmi-board-
> 00000020: 69 64 3d 31 30                                   id=10
> failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-eboard-id=5 from ath10k/QCA9984/hw1.0/board-2.bin
> boot fw request 'ath10k/QCA9984/hw1.0/eboard.bin': 0
> using board api 1
> boot writing ext board data to addr 0xc3000
> ..
> 
> Signed-off-by: Sathishkumar Muruganandam <murugana@xxxxxxxxxxxxxx>
> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>

This introduced a new checkpatch warning:

drivers/net/wireless/ath/ath10k/core.c:1059: line over 90 characters

I fixed this in the pending branch.

-- 
https://patchwork.kernel.org/patch/10575361/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux