ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Sven Eckelmann <sven.eckelmann@openmesh.com>
To: ath10k@lists.infradead.org
Cc: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Subject: Re: ath10k-firmware: QCA4019 hw1.0: Add GL.iNet GL-B1300 specific BDFs
Date: Wed, 28 Mar 2018 09:42:40 +0200	[thread overview]
Message-ID: <1847691.7UTcLHTNqf@bentobox> (raw)
In-Reply-To: <b0320000-ac88-0992-c4c8-e41a137a3249@dd-wrt.com>


[-- Attachment #1.1: Type: text/plain, Size: 3408 bytes --]

On Mittwoch, 28. März 2018 08:23:43 CEST Sebastian Gottschall wrote:
> correct me if i'm wrong. but isnt the board data stored in flash memory 
> on these devices like on every other router i know using ath10k chipsets?
> this all sounds a little bit curious for me

The BDF is stored either in the board.bin or board-2.bin on routers which use 
ath10k. Similar files (raw BDFs with other names) exist on devices which use 
the QCA driver. These files don't contain the device specific information (see 
my earlier mail for the things which seem to be device specific). So they are 
basically part of the rootfs.

The device specific information are stored somewhere else on the device. This 
can for example be in the ART or on a dedicated EEPROM [1]. The OTP binary 
(running on the wifi chip) is receiving both files from the driver, combining 
them and adjusting some things here and there. The combined memory region is 
then given to the actual wifi firmware.

Yes, this all is rather complicated and I think was introduced with the QCA 
802.11ac Wave2 chips. This especially ended up be a problem when QCA was only 
providing board-ids for its own reference designs. Unfortunately, these board 
ids are used to identify the BDFs in the board-2.bin. So we had to introduce 
an additional, optional information that we can use to differentiate between 
different BDFs which have the same board-id - the so called (qcom,ath10k-
calibration-)variant.

It could now be that you're statement was actual suggesting something else:

* Why don't you just use the information from ART and load it as cal data 
  instead of pre-cal data?

   - The firmware seems to behave differently when we do that. Maybe the
     "additional modifications" are not done by the OTP in that case. 
     Maybe QCA can tell you more about that.
   - But there are also another things which we will discuss in the next
     point.

* Why don't you load the information from ART and use it as pre-cal and BDF?

  - The BDF can also contain other information than the pre-cal data in the 
    sections which are not copied from the pre-cal data. This happens all
    the time during the development but can also happen later. Maybe this was
    the reason why QCA implemented this mechanism. It is for example planned 
    to update the A42 BDFs in some weeks.


Small (cut-down) story at the end and why we need special BDFs. During the 
initial development of the A42 OpenWrt support, the HW manufacturer told us 
that we should use the official QCA BDFs with some QCA internal code (which 
translate to bmi-board-id 16/17). We did that and noticed that the board was 
consuming a sh*tload of power and performed worse than a dead horse. After 
some attempts to communicate the problem and some first incorrect assumptions 
from both sides (but with help from some brave OSS developers), the HW 
manufacturer told us about his "official" BDFs which were actually not looking 
like the QCA files at all but had the same IDs. Reason for that was the 
removal of the QCA reference design non-SoC radio components and the 
replacement with their own design. This is where the story of the 
(qcom,ath10k-calibration-)variant began (for me).

Kind regards,
	Sven

[1] I just use this here as placeholder for "any kind of non-volatile memory
    which is no the main storage"

[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 146 bytes --]

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

  reply	other threads:[~2018-03-28  7:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-27  6:48 ath10k-firmware: QCA4019 hw1.0: Add GL.iNet GL-B1300 specific BDFs Dongming Han
2018-03-27  7:19 ` Sven Eckelmann
2018-03-28  6:23   ` Sebastian Gottschall
2018-03-28  7:42     ` Sven Eckelmann [this message]
2018-04-19 14:40 ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1847691.7UTcLHTNqf@bentobox \
    --to=sven.eckelmann@openmesh.com \
    --cc=ath10k@lists.infradead.org \
    --cc=s.gottschall@dd-wrt.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox