netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* question on gswip_pce_table_entry_write() in lantiq_gswip_common.c
@ 2025-12-23  8:48 Rasmus Villemoes
  2025-12-23 11:03 ` Daniel Golle
  0 siblings, 1 reply; 3+ messages in thread
From: Rasmus Villemoes @ 2025-12-23  8:48 UTC (permalink / raw)
  To: Daniel Golle; +Cc: netdev, Benny (Ying-Tsan) Weng

Hi

Reading gswip_pce_table_entry_write() in lantiq_gswip_common.c, I'm
wondering if it really has to do all that it does. In particular, it
seems to write the same value to (a subset of) the GSWIP_PCE_TBL_CTRL
reg twice, then it reads the reg value back, manually tweaks the
remaining bits appropriately and folds in the "start access bit", then
writes the whole value to the register.

Why couldn't that be done by reading the register, do all the masking
and bit setting, then doing a single write of the whole thing?

The data sheet doesn't say anything about this complicated scheme being
necessary.

Another thing: I'd really appreciate it if someone could point me to
documentation on the various tables, i.e. what does val[2] of an entry
in GSWIP_TABLE_VLAN_MAPPING actually mean? I can see that BIT(port) is
either set or cleared from it depending on 'untagged', so I can
sort-of-guess, but I'd prefer to have it documented so I don't have to
guess. AFAICT, none of the documents I can download from MaxLinear spell
this out in any way.

Rasmus

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-12-23 11:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-23  8:48 question on gswip_pce_table_entry_write() in lantiq_gswip_common.c Rasmus Villemoes
2025-12-23 11:03 ` Daniel Golle
2025-12-23 11:45   ` Rasmus Villemoes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).