Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
d0b812c1ff
@ -438,13 +438,14 @@ endef
|
||||
|
||||
define Build/jffs2
|
||||
rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \
|
||||
mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \
|
||||
cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \
|
||||
mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(word 1,$(1))) && \
|
||||
cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(word 1,$(1)) && \
|
||||
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \
|
||||
$(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \
|
||||
--squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \
|
||||
-o $@.new \
|
||||
-d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \
|
||||
$(wordlist 2,$(words $(1)),$(1)) \
|
||||
2>&1 1>/dev/null | awk '/^.+$$$$/' && \
|
||||
$(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE))
|
||||
-rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .71
|
||||
LINUX_KERNEL_HASH-6.6.71 = 219715ba2dcfa6539fba09ad3f9212772f3507189eb60d77f8e89b06c32e724e
|
||||
LINUX_VERSION-6.6 = .73
|
||||
LINUX_KERNEL_HASH-6.6.73 = d2028db190c201650898be8db1c705e9fe73ab44fc04290b4f7af63514122490
|
||||
|
@ -175,7 +175,6 @@ define Kernel/PrepareConfigPerRootfs
|
||||
[ ! -d "$(1)" ] || rm -rf $(1); \
|
||||
mkdir $(1) && $(CP) -T $(LINUX_DIR) $(1); \
|
||||
touch $(1)/.config; \
|
||||
rm -rf $(1)/usr/initramfs_data.cpio*; \
|
||||
}
|
||||
endef
|
||||
|
||||
@ -190,6 +189,7 @@ define Kernel/CompileImage/Initramfs
|
||||
$(call Kernel/Configure/Initramfs,$(if $(1),$(1),$(TARGET_DIR)),$(LINUX_DIR)$(2)); \
|
||||
$(CP) $(GENERIC_PLATFORM_DIR)/other-files/init $(if $(1),$(1),$(TARGET_DIR))/init; \
|
||||
$(if $(SOURCE_DATE_EPOCH),touch -hcd "@$(SOURCE_DATE_EPOCH)" $(if $(1),$(1),$(TARGET_DIR)) $(if $(1),$(1),$(TARGET_DIR))/init;) \
|
||||
rm -rf $(LINUX_DIR)$(2)/usr/initramfs_data.cpio*; \
|
||||
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE), \
|
||||
$(call locked,{ \
|
||||
$(if $(call qstrip,$(CONFIG_EXTERNAL_CPIO)), \
|
||||
|
@ -1649,3 +1649,21 @@ define KernelPackage/qrtr-mhi/description
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,qrtr-mhi))
|
||||
|
||||
define KernelPackage/unix-diag
|
||||
TITLE:=UNIX socket monitoring interface
|
||||
KCONFIG:=CONFIG_UNIX_DIAG
|
||||
FILES:= $(LINUX_DIR)/net/unix/unix_diag.ko
|
||||
AUTOLOAD:=$(call AutoProbe,unix_diag)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,unix-diag))
|
||||
|
||||
define KernelPackage/packet-diag
|
||||
TITLE:=Packet sockets monitoring interface
|
||||
KCONFIG:=CONFIG_PACKET_DIAG
|
||||
FILES:= $(LINUX_DIR)/net/packet/af_packet_diag.ko
|
||||
AUTOLOAD:=$(call AutoProbe,af_packet_diag)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,packet-diag))
|
||||
|
@ -1,541 +1,694 @@
|
||||
--- a/drivers/bus/mhi/host/trace.h
|
||||
+++ b/drivers/bus/mhi/host/trace.h
|
||||
@@ -104,7 +104,7 @@ TRACE_EVENT(mhi_gen_tre,
|
||||
@@ -104,7 +104,11 @@ TRACE_EVENT(mhi_gen_tre,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(name);
|
||||
+#else
|
||||
+ __assign_str(name, mhi_cntrl->mhi_dev->name);
|
||||
+#endif
|
||||
__entry->ch_num = mhi_chan->chan;
|
||||
__entry->wp = mhi_tre;
|
||||
__entry->tre_ptr = le64_to_cpu(mhi_tre->ptr);
|
||||
@@ -132,7 +132,7 @@ TRACE_EVENT(mhi_intvec_states,
|
||||
@@ -132,7 +136,11 @@ TRACE_EVENT(mhi_intvec_states,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(name);
|
||||
+#else
|
||||
+ __assign_str(name, mhi_cntrl->mhi_dev->name);
|
||||
+#endif
|
||||
__entry->local_ee = mhi_cntrl->ee;
|
||||
__entry->state = mhi_cntrl->dev_state;
|
||||
__entry->dev_ee = dev_ee;
|
||||
@@ -159,7 +159,7 @@ TRACE_EVENT(mhi_tryset_pm_state,
|
||||
@@ -159,7 +167,11 @@ TRACE_EVENT(mhi_tryset_pm_state,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(name);
|
||||
+#else
|
||||
+ __assign_str(name, mhi_cntrl->mhi_dev->name);
|
||||
+#endif
|
||||
if (pm_state)
|
||||
pm_state = __fls(pm_state);
|
||||
__entry->pm_state = pm_state;
|
||||
@@ -185,7 +185,7 @@ DECLARE_EVENT_CLASS(mhi_process_event_ri
|
||||
@@ -185,7 +197,11 @@ DECLARE_EVENT_CLASS(mhi_process_event_ri
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(name);
|
||||
+#else
|
||||
+ __assign_str(name, mhi_cntrl->mhi_dev->name);
|
||||
+#endif
|
||||
__entry->rp = rp;
|
||||
__entry->ptr = le64_to_cpu(rp->ptr);
|
||||
__entry->dword0 = le32_to_cpu(rp->dword[0]);
|
||||
@@ -227,7 +227,7 @@ DECLARE_EVENT_CLASS(mhi_update_channel_s
|
||||
@@ -227,7 +243,11 @@ DECLARE_EVENT_CLASS(mhi_update_channel_s
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(name);
|
||||
+#else
|
||||
+ __assign_str(name, mhi_cntrl->mhi_dev->name);
|
||||
+#endif
|
||||
__entry->ch_num = mhi_chan->chan;
|
||||
__entry->state = state;
|
||||
__entry->reason = reason;
|
||||
@@ -266,7 +266,7 @@ TRACE_EVENT(mhi_pm_st_transition,
|
||||
@@ -266,7 +286,11 @@ TRACE_EVENT(mhi_pm_st_transition,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(name);
|
||||
+#else
|
||||
+ __assign_str(name, mhi_cntrl->mhi_dev->name);
|
||||
+#endif
|
||||
__entry->state = state;
|
||||
),
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/trace.h
|
||||
+++ b/drivers/net/wireless/ath/ath10k/trace.h
|
||||
@@ -55,8 +55,8 @@ DECLARE_EVENT_CLASS(ath10k_log_event,
|
||||
@@ -55,8 +55,13 @@ DECLARE_EVENT_CLASS(ath10k_log_event,
|
||||
__vstring(msg, vaf->fmt, vaf->va)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
TP_printk(
|
||||
@@ -92,8 +92,8 @@ TRACE_EVENT(ath10k_log_dbg,
|
||||
@@ -92,8 +97,13 @@ TRACE_EVENT(ath10k_log_dbg,
|
||||
__vstring(msg, vaf->fmt, vaf->va)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->level = level;
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
@@ -121,10 +121,10 @@ TRACE_EVENT(ath10k_log_dbg_dump,
|
||||
@@ -121,10 +131,17 @@ TRACE_EVENT(ath10k_log_dbg_dump,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
- __assign_str(msg);
|
||||
- __assign_str(prefix);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
__assign_str(msg);
|
||||
__assign_str(prefix);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+ __assign_str(msg, msg);
|
||||
+ __assign_str(prefix, prefix);
|
||||
+#endif
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
),
|
||||
@@ -152,8 +152,8 @@ TRACE_EVENT(ath10k_wmi_cmd,
|
||||
@@ -152,8 +169,13 @@ TRACE_EVENT(ath10k_wmi_cmd,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->id = id;
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
@@ -182,8 +182,8 @@ TRACE_EVENT(ath10k_wmi_event,
|
||||
@@ -182,8 +204,13 @@ TRACE_EVENT(ath10k_wmi_event,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->id = id;
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
@@ -211,8 +211,8 @@ TRACE_EVENT(ath10k_htt_stats,
|
||||
@@ -211,8 +238,13 @@ TRACE_EVENT(ath10k_htt_stats,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
),
|
||||
@@ -239,8 +239,8 @@ TRACE_EVENT(ath10k_wmi_dbglog,
|
||||
@@ -239,8 +271,13 @@ TRACE_EVENT(ath10k_wmi_dbglog,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->hw_type = ar->hw_rev;
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
@@ -269,8 +269,8 @@ TRACE_EVENT(ath10k_htt_pktlog,
|
||||
@@ -269,8 +306,13 @@ TRACE_EVENT(ath10k_htt_pktlog,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->hw_type = ar->hw_rev;
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(pktlog), buf, buf_len);
|
||||
@@ -301,8 +301,8 @@ TRACE_EVENT(ath10k_htt_tx,
|
||||
@@ -301,8 +343,13 @@ TRACE_EVENT(ath10k_htt_tx,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->msdu_id = msdu_id;
|
||||
__entry->msdu_len = msdu_len;
|
||||
__entry->vdev_id = vdev_id;
|
||||
@@ -332,8 +332,8 @@ TRACE_EVENT(ath10k_txrx_tx_unref,
|
||||
@@ -332,8 +379,13 @@ TRACE_EVENT(ath10k_txrx_tx_unref,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->msdu_id = msdu_id;
|
||||
),
|
||||
|
||||
@@ -358,8 +358,8 @@ DECLARE_EVENT_CLASS(ath10k_hdr_event,
|
||||
@@ -358,8 +410,13 @@ DECLARE_EVENT_CLASS(ath10k_hdr_event,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->len = ath10k_frm_hdr_len(data, len);
|
||||
memcpy(__get_dynamic_array(data), data, __entry->len);
|
||||
),
|
||||
@@ -386,8 +386,8 @@ DECLARE_EVENT_CLASS(ath10k_payload_event
|
||||
@@ -386,8 +443,13 @@ DECLARE_EVENT_CLASS(ath10k_payload_event
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->len = len - ath10k_frm_hdr_len(data, len);
|
||||
memcpy(__get_dynamic_array(payload),
|
||||
data + ath10k_frm_hdr_len(data, len), __entry->len);
|
||||
@@ -435,8 +435,8 @@ TRACE_EVENT(ath10k_htt_rx_desc,
|
||||
@@ -435,8 +497,13 @@ TRACE_EVENT(ath10k_htt_rx_desc,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->hw_type = ar->hw_rev;
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(rxdesc), data, len);
|
||||
@@ -472,8 +472,8 @@ TRACE_EVENT(ath10k_wmi_diag_container,
|
||||
@@ -472,8 +539,13 @@ TRACE_EVENT(ath10k_wmi_diag_container,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->type = type;
|
||||
__entry->timestamp = timestamp;
|
||||
__entry->code = code;
|
||||
@@ -505,8 +505,8 @@ TRACE_EVENT(ath10k_wmi_diag,
|
||||
@@ -505,8 +577,13 @@ TRACE_EVENT(ath10k_wmi_diag,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(data), data, len);
|
||||
),
|
||||
--- a/drivers/net/wireless/ath/ath11k/trace.h
|
||||
+++ b/drivers/net/wireless/ath/ath11k/trace.h
|
||||
@@ -48,8 +48,8 @@ TRACE_EVENT(ath11k_htt_pktlog,
|
||||
@@ -48,8 +48,13 @@ TRACE_EVENT(ath11k_htt_pktlog,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
__entry->buf_len = buf_len;
|
||||
__entry->pktlog_checksum = pktlog_checksum;
|
||||
memcpy(__get_dynamic_array(pktlog), buf, buf_len);
|
||||
@@ -77,8 +77,8 @@ TRACE_EVENT(ath11k_htt_ppdu_stats,
|
||||
@@ -77,8 +82,13 @@ TRACE_EVENT(ath11k_htt_ppdu_stats,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(ppdu), data, len);
|
||||
),
|
||||
@@ -105,8 +105,8 @@ TRACE_EVENT(ath11k_htt_rxdesc,
|
||||
@@ -105,8 +115,13 @@ TRACE_EVENT(ath11k_htt_rxdesc,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
__entry->log_type = log_type;
|
||||
memcpy(__get_dynamic_array(rxdesc), data, len);
|
||||
@@ -130,8 +130,8 @@ DECLARE_EVENT_CLASS(ath11k_log_event,
|
||||
@@ -130,8 +145,13 @@ DECLARE_EVENT_CLASS(ath11k_log_event,
|
||||
__vstring(msg, vaf->fmt, vaf->va)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
TP_printk(
|
||||
@@ -171,8 +171,8 @@ TRACE_EVENT(ath11k_wmi_cmd,
|
||||
@@ -171,8 +191,13 @@ TRACE_EVENT(ath11k_wmi_cmd,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+#endif
|
||||
__entry->id = id;
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
@@ -201,8 +201,8 @@ TRACE_EVENT(ath11k_wmi_event,
|
||||
@@ -201,8 +226,13 @@ TRACE_EVENT(ath11k_wmi_event,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+#endif
|
||||
__entry->id = id;
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
@@ -230,8 +230,8 @@ TRACE_EVENT(ath11k_log_dbg,
|
||||
@@ -230,8 +260,13 @@ TRACE_EVENT(ath11k_log_dbg,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+#endif
|
||||
__entry->level = level;
|
||||
WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
|
||||
ATH11K_MSG_MAX, vaf->fmt,
|
||||
@@ -262,10 +262,10 @@ TRACE_EVENT(ath11k_log_dbg_dump,
|
||||
@@ -262,10 +297,17 @@ TRACE_EVENT(ath11k_log_dbg_dump,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
- __assign_str(msg);
|
||||
- __assign_str(prefix);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
__assign_str(msg);
|
||||
__assign_str(prefix);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+ __assign_str(msg, msg);
|
||||
+ __assign_str(prefix, prefix);
|
||||
+#endif
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
),
|
||||
@@ -292,8 +292,8 @@ TRACE_EVENT(ath11k_wmi_diag,
|
||||
@@ -292,8 +334,13 @@ TRACE_EVENT(ath11k_wmi_diag,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(data), data, len);
|
||||
),
|
||||
@@ -318,8 +318,8 @@ TRACE_EVENT(ath11k_ps_timekeeper,
|
||||
@@ -318,8 +365,14 @@ TRACE_EVENT(ath11k_ps_timekeeper,
|
||||
__field(u32, peer_ps_timestamp)
|
||||
),
|
||||
|
||||
- TP_fast_assign(__assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+ TP_fast_assign(__assign_str(device, dev_name(ar->ab->dev));
|
||||
+ TP_fast_assign(
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
+ __assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
memcpy(__get_dynamic_array(peer_addr), peer_addr,
|
||||
ETH_ALEN);
|
||||
__entry->peer_ps_state = peer_ps_state;
|
||||
--- a/drivers/net/wireless/ath/ath12k/trace.h
|
||||
+++ b/drivers/net/wireless/ath/ath12k/trace.h
|
||||
@@ -36,8 +36,8 @@ TRACE_EVENT(ath12k_htt_pktlog,
|
||||
@@ -36,8 +36,13 @@ TRACE_EVENT(ath12k_htt_pktlog,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
__entry->buf_len = buf_len;
|
||||
__entry->pktlog_checksum = pktlog_checksum;
|
||||
memcpy(__get_dynamic_array(pktlog), buf, buf_len);
|
||||
@@ -73,8 +73,8 @@ TRACE_EVENT(ath12k_htt_ppdu_stats,
|
||||
@@ -73,8 +78,13 @@ TRACE_EVENT(ath12k_htt_ppdu_stats,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
__entry->info = ar->pdev->timestamp.info;
|
||||
__entry->sync_tstmp_lo_us = ar->pdev->timestamp.sync_timestamp_hi_us;
|
||||
@@ -117,8 +117,8 @@ TRACE_EVENT(ath12k_htt_rxdesc,
|
||||
@@ -117,8 +127,13 @@ TRACE_EVENT(ath12k_htt_rxdesc,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ar->ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ar->ab->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
__entry->type = type;
|
||||
__entry->info = ar->pdev->timestamp.info;
|
||||
@@ -153,8 +153,8 @@ TRACE_EVENT(ath12k_wmi_diag,
|
||||
@@ -153,8 +168,13 @@ TRACE_EVENT(ath12k_wmi_diag,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, dev_name(ab->dev));
|
||||
+ __assign_str(driver, dev_driver_string(ab->dev));
|
||||
+#endif
|
||||
__entry->len = len;
|
||||
memcpy(__get_dynamic_array(data), data, len);
|
||||
),
|
||||
--- a/drivers/net/wireless/ath/ath6kl/trace.h
|
||||
+++ b/drivers/net/wireless/ath/ath6kl/trace.h
|
||||
@@ -304,8 +304,8 @@ TRACE_EVENT(ath6kl_log_dbg_dump,
|
||||
@@ -304,8 +304,13 @@ TRACE_EVENT(ath6kl_log_dbg_dump,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(msg);
|
||||
- __assign_str(prefix);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(msg);
|
||||
__assign_str(prefix);
|
||||
+#else
|
||||
+ __assign_str(msg, msg);
|
||||
+ __assign_str(prefix, prefix);
|
||||
+#endif
|
||||
__entry->buf_len = buf_len;
|
||||
memcpy(__get_dynamic_array(buf), buf, buf_len);
|
||||
),
|
||||
--- a/drivers/net/wireless/ath/trace.h
|
||||
+++ b/drivers/net/wireless/ath/trace.h
|
||||
@@ -44,8 +44,8 @@ TRACE_EVENT(ath_log,
|
||||
@@ -44,8 +44,13 @@ TRACE_EVENT(ath_log,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(device);
|
||||
- __assign_str(driver);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(device);
|
||||
__assign_str(driver);
|
||||
+#else
|
||||
+ __assign_str(device, wiphy_name(wiphy));
|
||||
+ __assign_str(driver, KBUILD_MODNAME);
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h
|
||||
@@ -41,7 +41,7 @@ TRACE_EVENT(brcmf_err,
|
||||
@@ -41,7 +41,11 @@ TRACE_EVENT(brcmf_err,
|
||||
__vstring(msg, vaf->fmt, vaf->va)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(func);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(func);
|
||||
+#else
|
||||
+ __assign_str(func, func);
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
TP_printk("%s: %s", __get_str(func), __get_str(msg))
|
||||
@@ -57,7 +57,7 @@ TRACE_EVENT(brcmf_dbg,
|
||||
@@ -57,7 +61,11 @@ TRACE_EVENT(brcmf_dbg,
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->level = level;
|
||||
- __assign_str(func);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(func);
|
||||
+#else
|
||||
+ __assign_str(func, func);
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
TP_printk("%s: %s", __get_str(func), __get_str(msg))
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac.h
|
||||
@@ -81,7 +81,7 @@ TRACE_EVENT(brcms_macintstatus,
|
||||
@@ -81,7 +81,11 @@ TRACE_EVENT(brcms_macintstatus,
|
||||
__field(u32, mask)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(dev);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(dev);
|
||||
+#else
|
||||
+ __assign_str(dev, dev_name(dev));
|
||||
+#endif
|
||||
__entry->in_isr = in_isr;
|
||||
__entry->macintstatus = macintstatus;
|
||||
__entry->mask = mask;
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h
|
||||
@@ -71,7 +71,7 @@ TRACE_EVENT(brcms_dbg,
|
||||
@@ -71,7 +71,11 @@ TRACE_EVENT(brcms_dbg,
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->level = level;
|
||||
- __assign_str(func);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(func);
|
||||
+#else
|
||||
+ __assign_str(func, func);
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
TP_printk("%s: %s", __get_str(func), __get_str(msg))
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_tx.h
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_tx.h
|
||||
@@ -31,7 +31,7 @@ TRACE_EVENT(brcms_txdesc,
|
||||
@@ -31,7 +31,11 @@ TRACE_EVENT(brcms_txdesc,
|
||||
__dynamic_array(u8, txh, txh_len)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(dev);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(dev);
|
||||
+#else
|
||||
+ __assign_str(dev, dev_name(dev));
|
||||
+#endif
|
||||
memcpy(__get_dynamic_array(txh), txh, txh_len);
|
||||
),
|
||||
TP_printk("[%s] txdesc", __get_str(dev))
|
||||
@@ -54,7 +54,7 @@ TRACE_EVENT(brcms_txstatus,
|
||||
@@ -54,7 +58,11 @@ TRACE_EVENT(brcms_txstatus,
|
||||
__field(u16, ackphyrxsh)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(dev);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(dev);
|
||||
+#else
|
||||
+ __assign_str(dev, dev_name(dev));
|
||||
+#endif
|
||||
__entry->framelen = framelen;
|
||||
__entry->frameid = frameid;
|
||||
__entry->status = status;
|
||||
@@ -85,7 +85,7 @@ TRACE_EVENT(brcms_ampdu_session,
|
||||
@@ -85,7 +93,11 @@ TRACE_EVENT(brcms_ampdu_session,
|
||||
__field(u16, dma_len)
|
||||
),
|
||||
TP_fast_assign(
|
||||
- __assign_str(dev);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(dev);
|
||||
+#else
|
||||
+ __assign_str(dev, dev_name(dev));
|
||||
+#endif
|
||||
__entry->max_ampdu_len = max_ampdu_len;
|
||||
__entry->max_ampdu_frames = max_ampdu_frames;
|
||||
__entry->ampdu_len = ampdu_len;
|
||||
--- a/drivers/net/wireless/intel/iwlwifi/iwl-devtrace-msg.h
|
||||
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-devtrace-msg.h
|
||||
@@ -57,7 +57,7 @@ TRACE_EVENT(iwlwifi_dbg,
|
||||
@@ -57,7 +57,11 @@ TRACE_EVENT(iwlwifi_dbg,
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->level = level;
|
||||
- __assign_str(function);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(function);
|
||||
+#else
|
||||
+ __assign_str(function, function);
|
||||
+#endif
|
||||
__assign_vstr(msg, vaf->fmt, vaf->va);
|
||||
),
|
||||
TP_printk("%s", __get_str(msg))
|
||||
--- a/drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h
|
||||
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-devtrace.h
|
||||
@@ -87,7 +87,7 @@ static inline void trace_ ## name(proto)
|
||||
@@ -87,7 +87,11 @@ static inline void trace_ ## name(proto)
|
||||
#endif
|
||||
|
||||
#define DEV_ENTRY __string(dev, dev_name(dev))
|
||||
-#define DEV_ASSIGN __assign_str(dev)
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
#define DEV_ASSIGN __assign_str(dev)
|
||||
+#else
|
||||
+#define DEV_ASSIGN __assign_str(dev, dev_name(dev))
|
||||
+#endif
|
||||
|
||||
#include "iwl-devtrace-io.h"
|
||||
#include "iwl-devtrace-ucode.h"
|
||||
--- a/include/trace/events/qrtr.h
|
||||
+++ b/include/trace/events/qrtr.h
|
||||
@@ -102,7 +102,7 @@ TRACE_EVENT(qrtr_ns_message,
|
||||
@@ -102,7 +102,11 @@ TRACE_EVENT(qrtr_ns_message,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
- __assign_str(ctrl_pkt_str);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(ctrl_pkt_str);
|
||||
+#else
|
||||
+ __assign_str(ctrl_pkt_str, ctrl_pkt_str);
|
||||
+#endif
|
||||
__entry->sq_node = sq_node;
|
||||
__entry->sq_port = sq_port;
|
||||
),
|
||||
--- a/net/mac80211/trace.h
|
||||
+++ b/net/mac80211/trace.h
|
||||
@@ -33,7 +33,7 @@
|
||||
@@ -31,9 +31,15 @@
|
||||
#define VIF_ENTRY __field(enum nl80211_iftype, vif_type) __field(void *, sdata) \
|
||||
__field(bool, p2p) \
|
||||
__string(vif_name, sdata->name)
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
#define VIF_ASSIGN __entry->vif_type = sdata->vif.type; __entry->sdata = sdata; \
|
||||
__entry->p2p = sdata->vif.p2p; \
|
||||
- __assign_str(vif_name)
|
||||
__assign_str(vif_name)
|
||||
+#else
|
||||
+#define VIF_ASSIGN __entry->vif_type = sdata->vif.type; __entry->sdata = sdata; \
|
||||
+ __entry->p2p = sdata->vif.p2p; \
|
||||
+ __assign_str(vif_name, sdata->name)
|
||||
+#endif
|
||||
#define VIF_PR_FMT " vif:%s(%d%s)"
|
||||
#define VIF_PR_ARG __get_str(vif_name), __entry->vif_type, __entry->p2p ? "/p2p" : ""
|
||||
|
||||
--- a/net/wireless/trace.h
|
||||
+++ b/net/wireless/trace.h
|
||||
@@ -446,7 +446,7 @@ TRACE_EVENT(rdev_add_virtual_intf,
|
||||
@@ -446,7 +446,11 @@ TRACE_EVENT(rdev_add_virtual_intf,
|
||||
),
|
||||
TP_fast_assign(
|
||||
WIPHY_ASSIGN;
|
||||
- __assign_str(vir_intf_name);
|
||||
+#if LINUX_VERSION_IS_GEQ(6,10,0)
|
||||
__assign_str(vir_intf_name);
|
||||
+#else
|
||||
+ __assign_str(vir_intf_name, name ? name : "<noname>");
|
||||
+#endif
|
||||
__entry->type = type;
|
||||
),
|
||||
TP_printk(WIPHY_PR_FMT ", virtual intf name: %s, type: %d",
|
||||
|
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ethtool
|
||||
PKG_VERSION:=6.10
|
||||
PKG_VERSION:=6.11
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/software/network/ethtool
|
||||
PKG_HASH:=cc613fe8a2bcddee17a1e6e0d763c0f3ea33c7e930658d2d7f601aa65e426a1f
|
||||
PKG_HASH:=8d91f5c72ae3f25b7e88d4781279dcb320f71e30058914370b1c574c96b31202
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
@ -13,9 +13,10 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uci.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2025-01-17
|
||||
PKG_SOURCE_VERSION:=fb3c2343b17b759b175f11aec5b3fbb1cf48bbc3
|
||||
PKG_MIRROR_HASH:=c9302f4a1cb400134cb9fc0622fb6a04bbe8c55bcc83ec454caadb1e62f3257e
|
||||
PKG_SOURCE_DATE:=2025-01-20
|
||||
PKG_SOURCE_VERSION:=16ff0badbde7e17ec3bd1f827ffe45922956cf86
|
||||
PKG_MIRROR_HASH:=e91ee4a2c0baaafe1d8ccd5321de70a8412a50323b0b27bbc7ad145e77018a22
|
||||
PKG_ABI_VERSION:=20250120
|
||||
|
||||
PKG_LICENSE:=LGPL-2.1
|
||||
PKG_LICENSE_FILES:=
|
||||
@ -33,7 +34,7 @@ define Package/libuci
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=C library for the Unified Configuration Interface (UCI)
|
||||
DEPENDS:=+libubox
|
||||
ABI_VERSION:=20250117
|
||||
ABI_VERSION:=$(PKG_ABI_VERSION)
|
||||
endef
|
||||
|
||||
define Package/uci
|
||||
@ -55,11 +56,12 @@ TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DLUAPATH=/usr/lib/lua \
|
||||
-DABIVERSION=$(PKG_ABI_VERSION) \
|
||||
$(if $(DEBUG),-DUCI_DEBUG=ON)
|
||||
|
||||
define Package/libuci/install
|
||||
$(INSTALL_DIR) $(1)/lib
|
||||
$(CP) $(PKG_BUILD_DIR)/libuci.so* $(1)/lib/
|
||||
$(CP) $(PKG_BUILD_DIR)/libuci.so.* $(1)/lib/
|
||||
endef
|
||||
|
||||
define Package/libuci-lua/install
|
||||
|
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fritz-tools
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
@ -8,6 +8,9 @@
|
||||
* that is Not copyrighted -- provided to the public domain
|
||||
* Version 1.4 11 December 2005 Mark Adler
|
||||
*
|
||||
* Modifications to also handle calibration data in reversed byte order
|
||||
* (c) 2024 by <dzsoftware@posteo.org>.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
@ -28,31 +31,54 @@
|
||||
#include <assert.h>
|
||||
#include <unistd.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <endian.h>
|
||||
#include <errno.h>
|
||||
#include "zlib.h"
|
||||
|
||||
#define CHUNK 1024
|
||||
#define DEFAULT_BUFFERSIZE (129 * 1024)
|
||||
|
||||
static inline size_t special_min(size_t a, size_t b)
|
||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
|
||||
/* Reverse byte order in data buffer.
|
||||
* 'top' is position of last valid data byte = (datasize - 1)
|
||||
*/
|
||||
static void buffer_reverse(unsigned char *data, unsigned int top)
|
||||
{
|
||||
return a == 0 ? b : (a < b ? a : b);
|
||||
register unsigned char swapbyte;
|
||||
const unsigned int center = top / 2;
|
||||
|
||||
for (unsigned int bottom = 0; bottom < center; ++bottom, --top) {
|
||||
swapbyte = data[bottom];
|
||||
data[bottom] = data[top];
|
||||
data[top] = swapbyte;
|
||||
}
|
||||
}
|
||||
|
||||
/* Decompress from file source to file dest until stream ends or EOF.
|
||||
inf() returns Z_OK on success, Z_MEM_ERROR if memory could not be
|
||||
allocated for processing, Z_DATA_ERROR if the deflate data is
|
||||
invalid or incomplete, Z_VERSION_ERROR if the version of zlib.h and
|
||||
the version of the library linked do not match, or Z_ERRNO if there
|
||||
is an error reading or writing the files. */
|
||||
static int inf(FILE *source, FILE *dest, size_t limit, size_t skip)
|
||||
/* Decompress from file source to data buffer until stream ends
|
||||
* or *limit bytes have been written to buffer.
|
||||
*
|
||||
* On call, 'limit' must reference a variable containing the intended
|
||||
* number of bytes to retrieve (must be <= allocated buffer size).
|
||||
*
|
||||
* Return values (success):
|
||||
* Z_END_STREAM if complete data was retrieved (*limit == size of complete data),
|
||||
* or Z_OK if data was retrieved up to limit (*limit == original value).
|
||||
*
|
||||
* Return values (failure):
|
||||
* Z_MEM_ERROR if memory could not be allocated for processing,
|
||||
* Z_DATA_ERROR if the deflate data is invalid or incomplete,
|
||||
* Z_VERSION_ERROR if the version of zlib.h and the version of the
|
||||
* library linked do not match, or
|
||||
* Z_ERRNO if there is an error reading or writing the files.
|
||||
*/
|
||||
static int inflate_to_buffer(FILE *source, unsigned char *buf, size_t *limit)
|
||||
{
|
||||
int ret;
|
||||
size_t have;
|
||||
z_stream strm;
|
||||
unsigned char in[CHUNK];
|
||||
unsigned char out[CHUNK];
|
||||
|
||||
/* allocate inflate state */
|
||||
strm.zalloc = Z_NULL;
|
||||
@ -64,6 +90,10 @@ static int inf(FILE *source, FILE *dest, size_t limit, size_t skip)
|
||||
if (ret != Z_OK)
|
||||
return ret;
|
||||
|
||||
/* set data buffer as stream output */
|
||||
strm.avail_out = *limit;
|
||||
strm.next_out = buf;
|
||||
|
||||
/* decompress until deflate stream ends or end of file */
|
||||
do {
|
||||
strm.avail_in = fread(in, 1, CHUNK, source);
|
||||
@ -75,35 +105,28 @@ static int inf(FILE *source, FILE *dest, size_t limit, size_t skip)
|
||||
break;
|
||||
strm.next_in = in;
|
||||
|
||||
/* run inflate() on input until output buffer not full */
|
||||
do {
|
||||
strm.avail_out = CHUNK;
|
||||
strm.next_out = out;
|
||||
ret = inflate(&strm, Z_NO_FLUSH);
|
||||
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
|
||||
switch (ret) {
|
||||
/* run inflate(), fill data buffer with all available output */
|
||||
ret = inflate(&strm, Z_FINISH);
|
||||
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
|
||||
|
||||
switch (ret) {
|
||||
case Z_NEED_DICT:
|
||||
ret = Z_DATA_ERROR; /* and fall through */
|
||||
case Z_DATA_ERROR:
|
||||
case Z_MEM_ERROR:
|
||||
(void)inflateEnd(&strm);
|
||||
return ret;
|
||||
}
|
||||
have = special_min(limit, CHUNK - strm.avail_out) - skip;
|
||||
if (fwrite(&out[skip], have, 1, dest) != 1 || ferror(dest)) {
|
||||
(void)inflateEnd(&strm);
|
||||
return Z_ERRNO;
|
||||
}
|
||||
skip = 0;
|
||||
limit -= have;
|
||||
} while (strm.avail_out == 0 && limit > 0);
|
||||
}
|
||||
/* done when inflate() says it's done or limit reached */
|
||||
} while (ret != Z_STREAM_END && strm.avail_out > 0);
|
||||
|
||||
/* done when inflate() says it's done */
|
||||
} while (ret != Z_STREAM_END && limit > 0);
|
||||
/* set limit to end of retrieved data */
|
||||
assert(strm.total_out <= *limit);
|
||||
*limit = strm.total_out;
|
||||
|
||||
/* clean up and return */
|
||||
(void)inflateEnd(&strm);
|
||||
return (limit == 0 ? Z_OK : (ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR));
|
||||
return (ret == Z_STREAM_END ? Z_STREAM_END : (strm.avail_out == 0 ? Z_OK : Z_DATA_ERROR));
|
||||
}
|
||||
|
||||
/* report a zlib or i/o error */
|
||||
@ -140,7 +163,8 @@ static unsigned int get_num(char *str)
|
||||
|
||||
static void usage(void)
|
||||
{
|
||||
fprintf(stderr, "Usage: fritz_cal_extract [-s seek offset] [-i skip] [-o output file] [-l limit] [infile] -e entry_id\n"
|
||||
fprintf(stderr, "Usage: fritz_cal_extract -e entry_id [-s seek offset] [-l limit]\n"
|
||||
"\t[-r reverse extracted data] [-i skip n bytes] [-o output file] [infile]\n"
|
||||
"Finds and extracts zlib compressed calibration data in the EVA loader\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
@ -154,15 +178,18 @@ struct cal_entry {
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
struct cal_entry cal = { .len = 0 };
|
||||
unsigned char *buf = NULL;
|
||||
FILE *in = stdin;
|
||||
FILE *out = stdout;
|
||||
size_t datasize = DEFAULT_BUFFERSIZE;
|
||||
size_t limit = 0, skip = 0;
|
||||
int initial_offset = 0;
|
||||
int entry = -1;
|
||||
bool reversed = false, limit_was_set = true;
|
||||
int ret;
|
||||
int opt;
|
||||
|
||||
while ((opt = getopt(argc, argv, "s:e:o:l:i:")) != -1) {
|
||||
while ((opt = getopt(argc, argv, "s:e:o:l:i:r")) != -1) {
|
||||
switch (opt) {
|
||||
case 's':
|
||||
initial_offset = (int)get_num(optarg);
|
||||
@ -199,6 +226,9 @@ int main(int argc, char **argv)
|
||||
goto out_bad;
|
||||
}
|
||||
break;
|
||||
case 'r':
|
||||
reversed = true;
|
||||
break;
|
||||
default: /* '?' */
|
||||
usage();
|
||||
}
|
||||
@ -243,11 +273,50 @@ int main(int argc, char **argv)
|
||||
goto out_bad;
|
||||
}
|
||||
|
||||
ret = inf(in, out, limit, skip);
|
||||
if (ret == Z_OK)
|
||||
goto out;
|
||||
/* Set boundaries. Only keep default datasize if we need complete data
|
||||
* for reversal and didn't set a higher limit. */
|
||||
if (!limit) {
|
||||
limit_was_set = false;
|
||||
limit = datasize - skip;
|
||||
}
|
||||
datasize = (reversed && datasize >= limit + skip) ? datasize : (limit + skip);
|
||||
|
||||
zerr(ret);
|
||||
/* Create data buffer. */
|
||||
buf = malloc(datasize);
|
||||
assert(buf != NULL);
|
||||
|
||||
ret = inflate_to_buffer(in, buf, &datasize);
|
||||
|
||||
if ((reversed || !limit_was_set) && ret != Z_STREAM_END) { /* didn't read to stream end */
|
||||
fprintf(stderr, "Failed: Data exceeds buffer size of %u. Refusing to reverse"
|
||||
" or store incomplete data."
|
||||
" Use a higher limit [-l] to increase buffer size.\n",
|
||||
(unsigned int) datasize);
|
||||
goto out_bad;
|
||||
}
|
||||
|
||||
ret = (ret == Z_STREAM_END) ? Z_OK : ret; /* normalize return value */
|
||||
if (ret != Z_OK) {
|
||||
zerr(ret);
|
||||
goto out_bad;
|
||||
}
|
||||
|
||||
if (reversed)
|
||||
buffer_reverse(buf, datasize - 1);
|
||||
|
||||
if (datasize <= skip) {
|
||||
fprintf(stderr, "Failed to skip %u bytes, total data size is %u!\n",
|
||||
(unsigned int)skip, (unsigned int)datasize);
|
||||
goto out_bad;
|
||||
}
|
||||
|
||||
limit = MIN(limit, datasize - skip);
|
||||
if (fwrite(&buf[skip], limit, 1, out) != 1 || ferror(out)) {
|
||||
fprintf(stderr, "Failed to write data buffer to output file");
|
||||
goto out_bad;
|
||||
}
|
||||
|
||||
goto out;
|
||||
|
||||
out_bad:
|
||||
ret = EXIT_FAILURE;
|
||||
@ -257,5 +326,6 @@ out:
|
||||
fclose(in);
|
||||
if (out)
|
||||
fclose(out);
|
||||
free(buf);
|
||||
return ret;
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
--- a/drivers/thermal/thermal_of.c
|
||||
+++ b/drivers/thermal/thermal_of.c
|
||||
@@ -245,7 +245,7 @@ static void thermal_of_parameters_init(s
|
||||
@@ -246,7 +246,7 @@ static void thermal_of_parameters_init(s
|
||||
{
|
||||
int coef[2];
|
||||
int ncoef = ARRAY_SIZE(coef);
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
tzp->no_hwmon = true;
|
||||
|
||||
@@ -257,14 +257,11 @@ static void thermal_of_parameters_init(s
|
||||
@@ -258,14 +258,11 @@ static void thermal_of_parameters_init(s
|
||||
* thermal zone. Thus, we are considering only the first two
|
||||
* values as slope and offset.
|
||||
*/
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
}
|
||||
|
||||
static struct device_node *thermal_of_zone_get_by_name(struct thermal_zone_device *tz)
|
||||
@@ -458,10 +455,15 @@ static void thermal_of_zone_unregister(s
|
||||
@@ -459,10 +456,15 @@ static void thermal_of_zone_unregister(s
|
||||
* zone properties and registers new thermal zone with those
|
||||
* properties.
|
||||
*
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
*
|
||||
* Return: a valid thermal zone structure pointer on success.
|
||||
* - EINVAL: if the device tree thermal description is malformed
|
||||
@@ -469,11 +471,11 @@ static void thermal_of_zone_unregister(s
|
||||
@@ -470,11 +472,11 @@ static void thermal_of_zone_unregister(s
|
||||
* - Other negative errors are returned by the underlying called functions
|
||||
*/
|
||||
static struct thermal_zone_device *thermal_of_zone_register(struct device_node *sensor, int id, void *data,
|
||||
@ -97,7 +97,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
struct thermal_zone_device_ops *of_ops;
|
||||
struct device_node *np;
|
||||
int delay, pdelay;
|
||||
@@ -508,7 +510,7 @@ static struct thermal_zone_device *therm
|
||||
@@ -509,7 +511,7 @@ static struct thermal_zone_device *therm
|
||||
goto out_kfree_trips;
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
of_ops->bind = thermal_of_bind;
|
||||
of_ops->unbind = thermal_of_unbind;
|
||||
@@ -516,7 +518,7 @@ static struct thermal_zone_device *therm
|
||||
@@ -517,7 +519,7 @@ static struct thermal_zone_device *therm
|
||||
mask = GENMASK_ULL((ntrips) - 1, 0);
|
||||
|
||||
tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips,
|
||||
@ -115,7 +115,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
pdelay, delay);
|
||||
if (IS_ERR(tz)) {
|
||||
ret = PTR_ERR(tz);
|
||||
@@ -571,6 +573,7 @@ static int devm_thermal_of_zone_match(st
|
||||
@@ -572,6 +574,7 @@ static int devm_thermal_of_zone_match(st
|
||||
struct thermal_zone_device *devm_thermal_of_zone_register(struct device *dev, int sensor_id, void *data,
|
||||
const struct thermal_zone_device_ops *ops)
|
||||
{
|
||||
@ -123,7 +123,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
struct thermal_zone_device **ptr, *tzd;
|
||||
|
||||
ptr = devres_alloc(devm_thermal_of_zone_release, sizeof(*ptr),
|
||||
@@ -578,7 +581,7 @@ struct thermal_zone_device *devm_thermal
|
||||
@@ -579,7 +582,7 @@ struct thermal_zone_device *devm_thermal
|
||||
if (!ptr)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
@ -132,7 +132,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
if (IS_ERR(tzd)) {
|
||||
devres_free(ptr);
|
||||
return tzd;
|
||||
@@ -592,6 +595,46 @@ struct thermal_zone_device *devm_thermal
|
||||
@@ -593,6 +596,46 @@ struct thermal_zone_device *devm_thermal
|
||||
EXPORT_SYMBOL_GPL(devm_thermal_of_zone_register);
|
||||
|
||||
/**
|
||||
|
331
target/linux/ath79/dts/qca9557_ruckus_r500.dts
Normal file
331
target/linux/ath79/dts/qca9557_ruckus_r500.dts
Normal file
@ -0,0 +1,331 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "qca955x.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/mtd/partitions/uimage.h>
|
||||
|
||||
/ {
|
||||
compatible = "ruckus,r500", "qca,qca9557";
|
||||
model = "Ruckus R500";
|
||||
|
||||
aliases {
|
||||
led-boot = &power_green;
|
||||
led-failsafe = &power_red;
|
||||
led-running = &power_green;
|
||||
led-upgrade = &power_red;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&jtag_disable_pins &clks_disable_pins &enable_gpio_4>;
|
||||
|
||||
power_green: led-0 {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
power_red: led-1 {
|
||||
function = LED_FUNCTION_POWER;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
panic-indicator;
|
||||
};
|
||||
|
||||
// DIR (Zone Director) LED - Indicates Zone director connection status
|
||||
led-2 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = "dir";
|
||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
// AIR (Signal/Air Quality) LED - Indicates uplink status and the quality of the wireless signal to the uplink AP
|
||||
led-3 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = "air";
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-4 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1assoc";
|
||||
};
|
||||
|
||||
led-5 {
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
|
||||
led-6 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0assoc";
|
||||
};
|
||||
|
||||
led-7 {
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
beamforming-2g-spi {
|
||||
compatible = "spi-gpio";
|
||||
mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
||||
sck-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
|
||||
num-chipselects = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
beamforming-2g-gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
registers-number = <1>;
|
||||
spi-max-frequency = <24000000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
beamforming-5g-spi {
|
||||
/*
|
||||
* ath10k driver doesn't expose GPIOs as of now,
|
||||
* so let's disable it for now. The shift register
|
||||
* for antenna pattern control is correctly initialized
|
||||
* for omnidirectional pattern correctly despite that,
|
||||
* there is just no possibility to control that from OpenWrt yet.
|
||||
*/
|
||||
status = "disabled";
|
||||
compatible = "spi-gpio";
|
||||
mosi-gpios = <&ath10k 15 GPIO_ACTIVE_HIGH>;
|
||||
sck-gpios = <&ath10k 14 GPIO_ACTIVE_HIGH>;
|
||||
num-chipselects = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
beamforming-5g-gpio@0 {
|
||||
compatible = "fairchild,74hc595";
|
||||
reg = <0>;
|
||||
registers-number = <1>;
|
||||
spi-max-frequency = <24000000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c: i2c {
|
||||
compatible = "i2c-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
scl-gpios = <&gpio 19 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
||||
|
||||
tpm@20 {
|
||||
compatible = "infineon,slb9645tt", "tcg,tpm-tis-i2c";
|
||||
reg = <0x20>;
|
||||
crc-checksum;
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
ruckus-himem@fff0000 {
|
||||
/* Ruckus Himem area used to control
|
||||
* redundant boot image selection
|
||||
*/
|
||||
compatible = "nvmem-rmem";
|
||||
reg = <0xfff0000 0x10000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinmux {
|
||||
clks_disable_pins: pinmux_clks_disable_pins {
|
||||
pinctrl-single,bits = <0x40 0x0 0x80>;
|
||||
};
|
||||
|
||||
enable_gpio_4: pinctrl_enable_gpio_4 {
|
||||
pinctrl-single,bits = <0x4 0x0 0xff>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
reg = <0x0000000 0x100000>;
|
||||
label = "u-boot";
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
compatible = "u-boot,env";
|
||||
reg = <0x0100000 0x40000>;
|
||||
label = "u-boot-env";
|
||||
};
|
||||
|
||||
board_data: partition@140000 {
|
||||
reg = <0x0140000 0x80000>;
|
||||
label = "board-data";
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@1c0000 {
|
||||
reg = <0x01c0000 0x3e40000>;
|
||||
compatible = "openwrt,uimage", "denx,uimage";
|
||||
label = "firmware";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
|
||||
qca,ar8327-initvals = <
|
||||
0x04 0x00080080 /* PORT0 PAD MODE CTRL */
|
||||
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
|
||||
0x7c 0x0000007e /* PORT0_STATUS */
|
||||
0x94 0x0000007e /* PORT6 STATUS */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_board_data_66>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
pll-data = <0x96000000 0x00000101 0x00001616>;
|
||||
|
||||
phy-handle = <&phy0>;
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_board_data_6c>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
pll-data = <0x03000101 0x00000101 0x00001616>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
ath10k: wifi@0,0 {
|
||||
compatible = "pci168c,003c";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
nvmem-cells = <&macaddr_board_data_76>, <&cal_board_data_45000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
};
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_board_data_60>, <&cal_board_data_41000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
};
|
||||
|
||||
&usb_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_phy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&board_data {
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_board_data_60: macaddr@60 {
|
||||
reg = <0x60 0x6>;
|
||||
};
|
||||
|
||||
macaddr_board_data_66: macaddr@66 {
|
||||
reg = <0x66 0x6>;
|
||||
};
|
||||
|
||||
macaddr_board_data_6c: macaddr@6c {
|
||||
reg = <0x6c 0x6>;
|
||||
};
|
||||
|
||||
macaddr_board_data_76: macaddr@76 {
|
||||
reg = <0x76 0x6>;
|
||||
};
|
||||
|
||||
cal_board_data_41000: cal@41000 {
|
||||
reg = <0x41000 0x440>;
|
||||
};
|
||||
|
||||
cal_board_data_45000: cal@45000 {
|
||||
reg = <0x45000 0x844>;
|
||||
};
|
||||
};
|
||||
};
|
@ -505,6 +505,10 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"0u@eth1" "4:lan:1" "3:lan:2" "2:lan:3" "1:lan:4"
|
||||
;;
|
||||
ruckus,r500)
|
||||
ucidef_add_switch "switch0" \
|
||||
"6u@eth0" "5:lan:1" "3:lan:2" "0@eth1"
|
||||
;;
|
||||
teltonika,rut955|\
|
||||
teltonika,rut955-h7v3c0)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
@ -813,6 +817,7 @@ ath79_setup_macs()
|
||||
wan_mac=$(mtd_get_mac_binary factory 0x0)
|
||||
lan_mac=$(macaddr_setbit_la "$wan_mac")
|
||||
;;
|
||||
ruckus,r500|\
|
||||
ruckus,zf7025|\
|
||||
ruckus,zf7321|\
|
||||
ruckus,zf7341|\
|
||||
|
@ -4,7 +4,7 @@ include $(INCLUDE_DIR)/image.mk
|
||||
KERNEL_LOADADDR = 0x80060000
|
||||
|
||||
DEVICE_VARS += LOADER_FLASH_OFFS LOADER_TYPE
|
||||
DEVICE_VARS += LOADER_FLASH_MAX LOADER_KERNEL_MAGIC
|
||||
DEVICE_VARS += LOADER_FLASH_MAX LOADER_KERNEL_MAGIC LZMA_TEXT_START
|
||||
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
|
||||
DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION
|
||||
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
|
||||
@ -14,6 +14,7 @@ define Build/loader-common
|
||||
$(MAKE) -C lzma-loader \
|
||||
PKG_BUILD_DIR="$@.src" \
|
||||
TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
|
||||
LZMA_TEXT_START=$(LZMA_TEXT_START) \
|
||||
$(1) compile loader.$(LOADER_TYPE)
|
||||
mv "$@.$(LOADER_TYPE)" "$@"
|
||||
rm -rf $@.src
|
||||
@ -74,6 +75,7 @@ define Device/Default
|
||||
LOADER_FLASH_MAX :=
|
||||
LOADER_FLASH_OFFS :=
|
||||
LOADER_TYPE :=
|
||||
LZMA_TEXT_START := 0x81800000
|
||||
COMPILE :=
|
||||
IMAGES := sysupgrade.bin
|
||||
IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
||||
|
@ -2945,6 +2945,17 @@ define Device/ruckus_zf7372
|
||||
endef
|
||||
TARGET_DEVICES += ruckus_zf7372
|
||||
|
||||
define Device/ruckus_r500
|
||||
$(Device/ruckus_common)
|
||||
SOC := qca9557
|
||||
DEVICE_MODEL := R500
|
||||
IMAGE_SIZE := 63744k
|
||||
BLOCKSIZE := 256k
|
||||
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct \
|
||||
kmod-i2c-gpio kmod-tpm-i2c-infineon
|
||||
endef
|
||||
TARGET_DEVICES += ruckus_r500
|
||||
|
||||
define Device/samsung_wam250
|
||||
SOC := ar9344
|
||||
DEVICE_VENDOR := Samsung
|
||||
|
@ -313,10 +313,9 @@ define Device/meraki_mr18
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
LOADER_TYPE := bin
|
||||
LZMA_TEXT_START := 0x82800000
|
||||
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | meraki-header MR18
|
||||
# Initramfs-build fails due to size issues
|
||||
# KERNEL_INITRAMFS := $$(KERNEL)
|
||||
KERNEL_INITRAMFS :=
|
||||
KERNEL_INITRAMFS := $$(KERNEL)
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
SUPPORTED_DEVICES += mr18
|
||||
endef
|
||||
@ -442,6 +441,10 @@ define Device/zte_mf28x_common
|
||||
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
LOADER_TYPE := bin
|
||||
LZMA_TEXT_START := 0x82800000
|
||||
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
|
||||
KERNEL_INITRAMFS := $$(KERNEL)
|
||||
KERNEL_SIZE := 4096k
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
endef
|
||||
|
@ -1189,7 +1189,7 @@ Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
|
||||
}
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5710,7 +5710,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -5712,7 +5712,7 @@ static void port_event(struct usb_hub *h
|
||||
port_dev->over_current_count++;
|
||||
port_over_current_notify(port_dev);
|
||||
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4872,6 +4872,7 @@ static const struct {
|
||||
@@ -4873,6 +4873,7 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret = 0;
|
||||
bool invalid_bdaddr;
|
||||
size_t i;
|
||||
@@ -4900,7 +4901,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
@@ -4901,7 +4902,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
||||
if (!ret) {
|
||||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
||||
|
@ -333,7 +333,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Global Debug LSP MUX Select */
|
||||
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
|
||||
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
|
||||
@@ -1066,6 +1069,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1067,6 +1070,7 @@ struct dwc3_scratchpad_array {
|
||||
* @tx_max_burst_prd: max periodic ESS transmit burst size
|
||||
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
|
||||
* @clear_stall_protocol: endpoint number that requires a delayed status phase
|
||||
@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @hsphy_interface: "utmi" or "ulpi"
|
||||
* @connected: true when we're connected to a host, false otherwise
|
||||
* @softconnect: true when gadget connect is called, false when disconnect runs
|
||||
@@ -1303,6 +1307,7 @@ struct dwc3 {
|
||||
@@ -1304,6 +1308,7 @@ struct dwc3 {
|
||||
u8 tx_max_burst_prd;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
u8 clear_stall_protocol;
|
||||
|
@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)
|
||||
|
||||
/* Global Status Register */
|
||||
@@ -1121,10 +1122,12 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1122,10 +1123,12 @@ struct dwc3_scratchpad_array {
|
||||
* generation after resume from suspend.
|
||||
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
|
||||
* VBUS with an external supply.
|
||||
@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
||||
* @tx_de_emphasis: Tx de-emphasis value
|
||||
* 0 - -6dB de-emphasis
|
||||
@@ -1351,6 +1354,7 @@ struct dwc3 {
|
||||
@@ -1352,6 +1355,7 @@ struct dwc3 {
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
unsigned parkmode_disable_ss_quirk:1;
|
||||
unsigned parkmode_disable_hs_quirk:1;
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4872,7 +4872,8 @@ static const struct {
|
||||
@@ -4873,7 +4873,8 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
|
@ -57,7 +57,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17)
|
||||
#define DWC3_GUCTL1_PARKMODE_DISABLE_HS BIT(16)
|
||||
#define DWC3_GUCTL1_PARKMODE_DISABLE_FSLS BIT(15)
|
||||
@@ -1122,6 +1124,8 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1123,6 +1125,8 @@ struct dwc3_scratchpad_array {
|
||||
* generation after resume from suspend.
|
||||
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
|
||||
* VBUS with an external supply.
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @parkmode_disable_ss_quirk: If set, disable park mode feature for all
|
||||
* Superspeed instances.
|
||||
* @parkmode_disable_hs_quirk: If set, disable park mode feature for all
|
||||
@@ -1352,6 +1356,8 @@ struct dwc3 {
|
||||
@@ -1353,6 +1357,8 @@ struct dwc3 {
|
||||
unsigned dis_tx_ipgap_linecheck_quirk:1;
|
||||
unsigned resume_hs_terminations:1;
|
||||
unsigned ulpi_ext_vbus_drv:1;
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2682,7 +2682,7 @@ int nf_conntrack_init_start(void)
|
||||
@@ -2685,7 +2685,7 @@ int nf_conntrack_init_start(void)
|
||||
|
||||
if (!nf_conntrack_htable_size) {
|
||||
nf_conntrack_htable_size
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -8421,7 +8421,7 @@ static int nft_register_flowtable_net_ho
|
||||
@@ -8425,7 +8425,7 @@ static int nft_register_flowtable_net_ho
|
||||
err = flowtable->data.type->setup(&flowtable->data,
|
||||
hook->ops.dev,
|
||||
FLOW_BLOCK_BIND);
|
||||
|
@ -0,0 +1,104 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Subject: [PATCH net-next 3/4] net: ethernet: mtk_eth_soc: reduce rx ring size for older chipsets
|
||||
Date: Tue, 15 Oct 2024 13:09:37 +0200
|
||||
|
||||
Commit c57e55819443 ("net: ethernet: mtk_eth_soc: handle dma buffer
|
||||
size soc specific") resolved some tx timeout issues by bumping FQ and
|
||||
tx ring sizes from 512 to 2048 entries (the value used in the MediaTek
|
||||
SDK), however it also changed the rx ring size for all chipsets in the
|
||||
same way.
|
||||
|
||||
Based on a few tests, it seems that a symmetric rx/tx ring size of 2048
|
||||
really only makes sense on MT7988, which is capable of 10G ethernet links.
|
||||
|
||||
Older chipsets are typically deployed in systems that are more memory
|
||||
constrained and don't actually need the larger rings to handle received
|
||||
packets.
|
||||
|
||||
In order to reduce wasted memory set the ring size based on the SoC to
|
||||
the following values:
|
||||
- 2048 on MT7988
|
||||
- 1024 on MT7986
|
||||
- 512 (previous value) on everything else, except:
|
||||
- 256 on RT5350 (the oldest supported chipset)
|
||||
|
||||
Fixes: c57e55819443 ("net: ethernet: mtk_eth_soc: handle dma buffer size soc specific")
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -5381,7 +5381,7 @@ static const struct mtk_soc_data mt2701_
|
||||
.desc_size = sizeof(struct mtk_rx_dma),
|
||||
.irq_done_mask = MTK_RX_DONE_INT,
|
||||
.dma_l4_valid = RX_DMA_L4_VALID,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(512),
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
},
|
||||
@@ -5409,7 +5409,7 @@ static const struct mtk_soc_data mt7621_
|
||||
.desc_size = sizeof(struct mtk_rx_dma),
|
||||
.irq_done_mask = MTK_RX_DONE_INT,
|
||||
.dma_l4_valid = RX_DMA_L4_VALID,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(512),
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
},
|
||||
@@ -5439,7 +5439,7 @@ static const struct mtk_soc_data mt7622_
|
||||
.desc_size = sizeof(struct mtk_rx_dma),
|
||||
.irq_done_mask = MTK_RX_DONE_INT,
|
||||
.dma_l4_valid = RX_DMA_L4_VALID,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(512),
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
},
|
||||
@@ -5468,7 +5468,7 @@ static const struct mtk_soc_data mt7623_
|
||||
.desc_size = sizeof(struct mtk_rx_dma),
|
||||
.irq_done_mask = MTK_RX_DONE_INT,
|
||||
.dma_l4_valid = RX_DMA_L4_VALID,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(512),
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
},
|
||||
@@ -5494,7 +5494,7 @@ static const struct mtk_soc_data mt7629_
|
||||
.desc_size = sizeof(struct mtk_rx_dma),
|
||||
.irq_done_mask = MTK_RX_DONE_INT,
|
||||
.dma_l4_valid = RX_DMA_L4_VALID,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(512),
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
},
|
||||
@@ -5526,7 +5526,7 @@ static const struct mtk_soc_data mt7981_
|
||||
.dma_l4_valid = RX_DMA_L4_VALID_V2,
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(512),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -5556,7 +5556,7 @@ static const struct mtk_soc_data mt7986_
|
||||
.dma_l4_valid = RX_DMA_L4_VALID_V2,
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(1K),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -5609,7 +5609,7 @@ static const struct mtk_soc_data rt5350_
|
||||
.dma_l4_valid = RX_DMA_L4_VALID_PDMA,
|
||||
.dma_max_len = MTK_TX_DMA_BUF_LEN,
|
||||
.dma_len_offset = 16,
|
||||
- .dma_size = MTK_DMA_SIZE(2K),
|
||||
+ .dma_size = MTK_DMA_SIZE(256),
|
||||
},
|
||||
};
|
||||
|
@ -0,0 +1,43 @@
|
||||
From: Danila Romanov <pervokur@gmail.com>
|
||||
Date: Wed, 22 Jan 2025 06:48:45 +0100
|
||||
Subject: [PATCH] net: ethernet: mtk_eth_soc: do not enable page pool stats by
|
||||
default
|
||||
|
||||
There is no reason for it to be enabled by default.
|
||||
Align mtk_eth_soc driver to mt76 driver.
|
||||
|
||||
This option incurs additional CPU cost in allocation and recycle paths
|
||||
and additional memory cost to store the statistics.
|
||||
|
||||
Signed-off-by: Danila Romanov <pervokur@gmail.com>
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/Kconfig
|
||||
+++ b/drivers/net/ethernet/mediatek/Kconfig
|
||||
@@ -18,7 +18,6 @@ config NET_MEDIATEK_SOC
|
||||
select PHYLINK
|
||||
select DIMLIB
|
||||
select PAGE_POOL
|
||||
- select PAGE_POOL_STATS
|
||||
select PCS_MTK_LYNXI
|
||||
select REGMAP_MMIO
|
||||
help
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -4552,6 +4552,7 @@ static int mtk_get_sset_count(struct net
|
||||
|
||||
static void mtk_ethtool_pp_stats(struct mtk_eth *eth, u64 *data)
|
||||
{
|
||||
+#ifdef CONFIG_PAGE_POOL_STATS
|
||||
struct page_pool_stats stats = {};
|
||||
int i;
|
||||
|
||||
@@ -4564,6 +4565,7 @@ static void mtk_ethtool_pp_stats(struct
|
||||
page_pool_get_stats(ring->page_pool, &stats);
|
||||
}
|
||||
page_pool_ethtool_stats_get(data, &stats);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static void mtk_get_ethtool_stats(struct net_device *dev,
|
@ -0,0 +1,70 @@
|
||||
From e3da313ebcace17f1227566fe1b0d0c3883061f9 Mon Sep 17 00:00:00 2001
|
||||
From: Manuel Fombuena <fombuena@outlook.com>
|
||||
Date: Fri, 17 Jan 2025 12:31:49 +0000
|
||||
Subject: [PATCH 1/5] leds: leds-st1202: fix NULL pointer access on race
|
||||
condition
|
||||
|
||||
st1202_dt_init() calls devm_led_classdev_register_ext() before the
|
||||
internal data structures are properly setup, so the leds become visible
|
||||
to user space while being partially initialized, leading to a window
|
||||
where trying to access them causes a NULL pointer access.
|
||||
|
||||
This change moves devm_led_classdev_register_ext() to the last thing to
|
||||
happen during initialization to eliminate it.
|
||||
|
||||
Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
|
||||
---
|
||||
drivers/leds/leds-st1202.c | 21 ++++++++++-----------
|
||||
1 file changed, 10 insertions(+), 11 deletions(-)
|
||||
|
||||
--- a/drivers/leds/leds-st1202.c
|
||||
+++ b/drivers/leds/leds-st1202.c
|
||||
@@ -261,8 +261,6 @@ static int st1202_dt_init(struct st1202_
|
||||
int err, reg;
|
||||
|
||||
for_each_available_child_of_node_scoped(dev_of_node(dev), child) {
|
||||
- struct led_init_data init_data = {};
|
||||
-
|
||||
err = of_property_read_u32(child, "reg", ®);
|
||||
if (err)
|
||||
return dev_err_probe(dev, err, "Invalid register\n");
|
||||
@@ -276,15 +274,6 @@ static int st1202_dt_init(struct st1202_
|
||||
led->led_cdev.pattern_set = st1202_led_pattern_set;
|
||||
led->led_cdev.pattern_clear = st1202_led_pattern_clear;
|
||||
led->led_cdev.default_trigger = "pattern";
|
||||
-
|
||||
- init_data.fwnode = led->fwnode;
|
||||
- init_data.devicename = "st1202";
|
||||
- init_data.default_label = ":";
|
||||
-
|
||||
- err = devm_led_classdev_register_ext(dev, &led->led_cdev, &init_data);
|
||||
- if (err < 0)
|
||||
- return dev_err_probe(dev, err, "Failed to register LED class device\n");
|
||||
-
|
||||
led->led_cdev.brightness_set = st1202_brightness_set;
|
||||
led->led_cdev.brightness_get = st1202_brightness_get;
|
||||
}
|
||||
@@ -368,6 +357,7 @@ static int st1202_probe(struct i2c_clien
|
||||
return ret;
|
||||
|
||||
for (int i = 0; i < ST1202_MAX_LEDS; i++) {
|
||||
+ struct led_init_data init_data = {};
|
||||
led = &chip->leds[i];
|
||||
led->chip = chip;
|
||||
led->led_num = i;
|
||||
@@ -384,6 +374,15 @@ static int st1202_probe(struct i2c_clien
|
||||
if (ret < 0)
|
||||
return dev_err_probe(&client->dev, ret,
|
||||
"Failed to clear LED pattern\n");
|
||||
+
|
||||
+ init_data.fwnode = led->fwnode;
|
||||
+ init_data.devicename = "st1202";
|
||||
+ init_data.default_label = ":";
|
||||
+
|
||||
+ ret = devm_led_classdev_register_ext(&client->dev, &led->led_cdev, &init_data);
|
||||
+ if (ret < 0)
|
||||
+ return dev_err_probe(&client->dev, ret,
|
||||
+ "Failed to register LED class device\n");
|
||||
}
|
||||
|
||||
return 0;
|
@ -125,6 +125,7 @@ lantiq_setup_macs()
|
||||
tffsdev=$(find_mtd_chardev "nand-tffs")
|
||||
lan_mac=$(/usr/bin/fritz_tffs_nand -d $tffsdev -n maca -o)
|
||||
wan_mac=$(/usr/bin/fritz_tffs_nand -d $tffsdev -n macdsl -o)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
bt,homehub-v5a)
|
||||
lan_mac=$(mtd_get_mac_binary_ubi caldata 0x110c)
|
||||
@ -142,6 +143,7 @@ lantiq_setup_macs()
|
||||
|
||||
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
|
||||
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
|
||||
[ -n "$label_mac" ] && ucidef_set_label_macaddr "$label_mac"
|
||||
}
|
||||
|
||||
board_config_update
|
||||
|
@ -19,11 +19,14 @@ case "$FIRMWARE" in
|
||||
avm,fritz3390)
|
||||
caldata_extract_reverse "urlader" 0x2546 0x440
|
||||
;;
|
||||
avm,fritz7412|\
|
||||
avm,fritz7430)
|
||||
avm,fritz7412)
|
||||
/usr/bin/fritz_cal_extract -i 1 -s 0x1e000 -e 0x207 -l 5120 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader") || \
|
||||
/usr/bin/fritz_cal_extract -i 1 -s 0x1e800 -e 0x207 -l 5120 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")
|
||||
;;
|
||||
avm,fritz7430)
|
||||
/usr/bin/fritz_cal_extract -r -i 4 -s 0x1e000 -e 0x207 -l 5120 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader") || \
|
||||
/usr/bin/fritz_cal_extract -r -i 4 -s 0x1e800 -e 0x207 -l 5120 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")
|
||||
;;
|
||||
bt,homehub-v5a)
|
||||
caldata_extract_ubi "caldata" 0x1000 0x1000
|
||||
ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary_ubi caldata 0x110c) 2) 0x10c
|
||||
|
@ -5,6 +5,24 @@ START=99
|
||||
|
||||
boot() {
|
||||
case $(board_name) in
|
||||
xiaomi,mi-router-ax3000t)
|
||||
. /lib/upgrade/common.sh
|
||||
[ "$(rootfs_type)" = "tmpfs" ] && \
|
||||
logger "bootcount: initramfs mode detected, exit" && \
|
||||
return 0
|
||||
[ "$(fw_printenv -n flag_try_sys2_failed 2>&1)" = "8" ] && \
|
||||
logger "bootcount: rd03 model detected, exit" && \
|
||||
return 0
|
||||
fw_setenv -s - <<-EOF
|
||||
flag_boot_rootfs 0
|
||||
flag_boot_success 1
|
||||
flag_last_success 0
|
||||
flag_ota_reboot 0
|
||||
flag_try_sys1_failed 0
|
||||
flag_try_sys2_failed 0
|
||||
EOF
|
||||
logger "bootcount: rd23 model detected, nvram was updated"
|
||||
;;
|
||||
zyxel,ex5700-telenor)
|
||||
fw_setenv uboot_bootcount 0
|
||||
;;
|
||||
|
@ -40,13 +40,15 @@ xiaomi_initial_setup()
|
||||
return 0
|
||||
fi
|
||||
|
||||
fw_setenv boot_wait on
|
||||
fw_setenv uart_en 1
|
||||
fw_setenv flag_boot_rootfs 0
|
||||
fw_setenv flag_last_success 1
|
||||
fw_setenv flag_boot_success 1
|
||||
fw_setenv flag_try_sys1_failed 8
|
||||
fw_setenv flag_try_sys2_failed 8
|
||||
fw_setenv -s - <<-EOF
|
||||
boot_wait on
|
||||
uart_en 1
|
||||
flag_boot_rootfs 0
|
||||
flag_last_success 1
|
||||
flag_boot_success 1
|
||||
flag_try_sys1_failed 8
|
||||
flag_try_sys2_failed 8
|
||||
EOF
|
||||
|
||||
local board=$(board_name)
|
||||
case "$board" in
|
||||
|
@ -1967,6 +1967,10 @@ TARGET_DEVICES += zbtlink_zbt-z8103ax
|
||||
define Device/zyxel_ex5601-t0-stock
|
||||
DEVICE_VENDOR := Zyxel
|
||||
DEVICE_MODEL := EX5601-T0
|
||||
DEVICE_ALT0_VENDOR := Zyxel
|
||||
DEVICE_ALT0_MODEL := EX5601-T1
|
||||
DEVICE_ALT1_VENDOR := Zyxel
|
||||
DEVICE_ALT1_MODEL := T-56
|
||||
DEVICE_VARIANT := (stock layout)
|
||||
DEVICE_DTS := mt7986a-zyxel-ex5601-t0-stock
|
||||
DEVICE_DTS_DIR := ../dts
|
||||
@ -1990,6 +1994,10 @@ TARGET_DEVICES += zyxel_ex5601-t0-stock
|
||||
define Device/zyxel_ex5601-t0-ubootmod
|
||||
DEVICE_VENDOR := Zyxel
|
||||
DEVICE_MODEL := EX5601-T0
|
||||
DEVICE_ALT0_VENDOR := Zyxel
|
||||
DEVICE_ALT0_MODEL := EX5601-T1
|
||||
DEVICE_ALT1_VENDOR := Zyxel
|
||||
DEVICE_ALT1_MODEL := T-56
|
||||
DEVICE_VARIANT := (OpenWrt U-Boot layout)
|
||||
DEVICE_DTS := mt7986a-zyxel-ex5601-t0-ubootmod
|
||||
DEVICE_DTS_DIR := ../dts
|
||||
|
@ -1,70 +0,0 @@
|
||||
From patchwork Sun Dec 15 22:09:41 2024
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
|
||||
X-Patchwork-Id: 13908995
|
||||
Return-Path:
|
||||
<linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org>
|
||||
Date: Sun, 15 Dec 2024 22:09:41 +0000
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>,
|
||||
Philipp Zabel <p.zabel@pengutronix.de>,
|
||||
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
|
||||
Matthias Brugger <matthias.bgg@gmail.com>,
|
||||
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>,
|
||||
Justin Green <greenjustin@chromium.org>,
|
||||
Frank Wunderlich <frank-w@public-files.de>,
|
||||
John Crispin <john@phrozen.org>, dri-devel@lists.freedesktop.org,
|
||||
linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
|
||||
linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org
|
||||
Subject: [PATCH] drm/mediatek: only touch DISP_REG_OVL_PITCH_MSB if AFBC is
|
||||
supported
|
||||
Message-ID:
|
||||
<8c001c8e70d93d64d3ee6bf7dc5078d2783d4e32.1734300345.git.daniel@makrotopia.org>
|
||||
MIME-Version: 1.0
|
||||
Content-Disposition: inline
|
||||
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
|
||||
X-CRM114-CacheID: sfid-20241215_140959_910539_20C140B3
|
||||
X-CRM114-Status: UNSURE ( 9.48 )
|
||||
X-CRM114-Notice: Please train this message.
|
||||
X-BeenThere: linux-mediatek@lists.infradead.org
|
||||
X-Mailman-Version: 2.1.34
|
||||
Precedence: list
|
||||
List-Id: <linux-mediatek.lists.infradead.org>
|
||||
List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-mediatek>,
|
||||
<mailto:linux-mediatek-request@lists.infradead.org?subject=unsubscribe>
|
||||
List-Archive: <http://lists.infradead.org/pipermail/linux-mediatek/>
|
||||
List-Post: <mailto:linux-mediatek@lists.infradead.org>
|
||||
List-Help: <mailto:linux-mediatek-request@lists.infradead.org?subject=help>
|
||||
List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-mediatek>,
|
||||
<mailto:linux-mediatek-request@lists.infradead.org?subject=subscribe>
|
||||
Sender: "Linux-mediatek" <linux-mediatek-bounces@lists.infradead.org>
|
||||
Errors-To:
|
||||
linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org
|
||||
|
||||
Touching DISP_REG_OVL_PITCH_MSB leads to video overlay on MT2701, MT7623N
|
||||
and probably other older SoCs being broken.
|
||||
|
||||
Only touching it on hardware which actually supports AFBC like it was
|
||||
before commit c410fa9b07c3 ("drm/mediatek: Add AFBC support to Mediatek
|
||||
DRM driver") fixes it.
|
||||
|
||||
Fixes: c410fa9b07c3 ("drm/mediatek: Add AFBC support to Mediatek DRM driver")
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
|
||||
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
|
||||
@@ -478,7 +478,7 @@ void mtk_ovl_layer_config(struct device
|
||||
&ovl->cmdq_reg, ovl->regs, DISP_REG_OVL_PITCH_MSB(idx));
|
||||
mtk_ddp_write_relaxed(cmdq_pkt, hdr_pitch, &ovl->cmdq_reg, ovl->regs,
|
||||
DISP_REG_OVL_HDR_PITCH(ovl, idx));
|
||||
- } else {
|
||||
+ } else if (ovl->data->supports_afbc) {
|
||||
mtk_ddp_write_relaxed(cmdq_pkt,
|
||||
overlay_pitch.split_pitch.msb,
|
||||
&ovl->cmdq_reg, ovl->regs, DISP_REG_OVL_PITCH_MSB(idx));
|
@ -1816,11 +1816,10 @@ define Device/keenetic_kn-1910
|
||||
$(Device/uimage-lzma-loader)
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
IMAGE_SIZE := 24903680
|
||||
IMAGE_SIZE := 20368588
|
||||
DEVICE_VENDOR := Keenetic
|
||||
DEVICE_MODEL := KN-1910
|
||||
DEVICE_PACKAGES := kmod-mt7615-firmware kmod-usb3 \
|
||||
kmod-usb-ledtrig-usbport automount
|
||||
DEVICE_PACKAGES := kmod-mt7615-firmware kmod-usb3 automount
|
||||
IMAGES += factory.bin
|
||||
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
|
||||
append-ubi | check-size | zyimage -d 0x801910 -v "KN-1910"
|
||||
|
@ -369,7 +369,7 @@ TARGET_DEVICES += keenetic_kn-1613
|
||||
|
||||
define Device/keenetic_kn-1711
|
||||
BLOCKSIZE := 64k
|
||||
IMAGE_SIZE := 13434880
|
||||
IMAGE_SIZE := 10551296
|
||||
DEVICE_VENDOR := Keenetic
|
||||
DEVICE_MODEL := KN-1711
|
||||
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap kmod-usb2
|
||||
@ -381,7 +381,7 @@ TARGET_DEVICES += keenetic_kn-1711
|
||||
|
||||
define Device/keenetic_kn-1713
|
||||
BLOCKSIZE := 64k
|
||||
IMAGE_SIZE := 13434880
|
||||
IMAGE_SIZE := 10551296
|
||||
DEVICE_VENDOR := Keenetic
|
||||
DEVICE_MODEL := KN-1713
|
||||
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7663-firmware-ap kmod-usb2
|
||||
|
@ -54,6 +54,9 @@ tplink,t1600g-28ts-v3)
|
||||
label_mac=$(get_mac_label)
|
||||
lan_mac="$label_mac"
|
||||
;;
|
||||
xikestor,sks8300-8x)
|
||||
lan_mac=$(mtd_get_mac_binary board-info 0x1f1)
|
||||
;;
|
||||
*)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env2 mac_start)
|
||||
lan_mac_end=$(mtd_get_mac_ascii u-boot-env2 mac_end)
|
||||
|
434
target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
Normal file
434
target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
Normal file
@ -0,0 +1,434 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "rtl930x.dtsi"
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
compatible = "xikestor,sks8300-8x", "realtek,rtl930x-soc";
|
||||
model = "XikeStor SKS8300-8X";
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x10000000>, /* first 256 MiB */
|
||||
<0x20000000 0x10000000>; /* remaining 256 MiB */
|
||||
};
|
||||
|
||||
aliases {
|
||||
led-boot = &led_sys;
|
||||
led-failsafe = &led_sys;
|
||||
led-running = &led_sys;
|
||||
led-upgrade = &led_sys;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:9600n8";
|
||||
};
|
||||
|
||||
i2c_master: i2c@1b00036c {
|
||||
compatible = "realtek,rtl9300-i2c";
|
||||
reg = <0x1b00036c 0x3c>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <9>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
i2c-mux {
|
||||
compatible = "realtek,i2c-mux-rtl9300";
|
||||
i2c-parent = <&i2c_master>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c0: i2c@0 {
|
||||
reg = <0>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <9>;
|
||||
};
|
||||
|
||||
i2c1: i2c@1 {
|
||||
reg = <1>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <10>;
|
||||
};
|
||||
|
||||
i2c2: i2c@2 {
|
||||
reg = <2>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <11>;
|
||||
};
|
||||
|
||||
i2c3: i2c@3 {
|
||||
reg = <3>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <12>;
|
||||
};
|
||||
|
||||
i2c4: i2c@4 {
|
||||
reg = <4>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <13>;
|
||||
};
|
||||
|
||||
i2c5: i2c@5 {
|
||||
reg = <5>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <14>;
|
||||
};
|
||||
|
||||
i2c6: i2c@6 {
|
||||
reg = <6>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <15>;
|
||||
};
|
||||
|
||||
i2c7: i2c@7 {
|
||||
reg = <7>;
|
||||
scl-pin = <8>;
|
||||
sda-pin = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
button-reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_sys: led-0 {
|
||||
gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
|
||||
led_set {
|
||||
compatible = "realtek,rtl9300-leds";
|
||||
active-low;
|
||||
|
||||
/*
|
||||
* LED set 0
|
||||
*
|
||||
* - LED[0](Green): 10G/LINK/ACT
|
||||
* - LED[1](Amber): 10M/100M/1G/2.5G/5G/LINK/ACT
|
||||
*/
|
||||
led_set0 = <0x0baa 0x0a01>;
|
||||
};
|
||||
|
||||
sfp0: sfp-p1 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c0>;
|
||||
los-gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <2900>;
|
||||
};
|
||||
|
||||
sfp1: sfp-p2 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c1>;
|
||||
los-gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 4 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <1500>;
|
||||
};
|
||||
|
||||
sfp2: sfp-p3 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c2>;
|
||||
los-gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 7 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <1500>;
|
||||
};
|
||||
|
||||
sfp3: sfp-p4 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c3>;
|
||||
los-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <2000>;
|
||||
};
|
||||
|
||||
sfp4: sfp-p5 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c4>;
|
||||
los-gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <2000>;
|
||||
};
|
||||
|
||||
sfp5: sfp-p6 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c5>;
|
||||
los-gpio = <&gpio1 21 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 22 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <1500>;
|
||||
};
|
||||
|
||||
sfp6: sfp-p7 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c6>;
|
||||
los-gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 25 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <1500>;
|
||||
};
|
||||
|
||||
sfp7: sfp-p8 {
|
||||
compatible = "sff,sfp";
|
||||
i2c-bus = <&i2c7>;
|
||||
los-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
|
||||
mod-def0-gpio = <&gpio1 28 GPIO_ACTIVE_LOW>;
|
||||
tx-disable-gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
|
||||
maximum-power-milliwatt = <2900>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio_aux {
|
||||
status = "okay";
|
||||
|
||||
gpio1: gpio@0 {
|
||||
compatible = "realtek,rtl8231";
|
||||
reg = <0>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&gpio1 0 0 37>;
|
||||
|
||||
led-controller {
|
||||
compatible = "realtek,rtl8231-leds";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* "flash_raw" on stock */
|
||||
partition@100000 {
|
||||
label = "board-info";
|
||||
reg = <0x100000 0x30000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@130000 {
|
||||
label = "syslog";
|
||||
reg = <0x130000 0xd0000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
/* "flash_user" on stock */
|
||||
partition@200000 {
|
||||
compatible = "fixed-partitions";
|
||||
label = "firmware";
|
||||
reg = <0x200000 0x1e00000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "kernel";
|
||||
reg = <0x0 0x800000>;
|
||||
};
|
||||
|
||||
partition@800000 {
|
||||
label = "rootfs";
|
||||
reg = <0x800000 0x1600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ðernet0 {
|
||||
mdio: mdio-bus {
|
||||
compatible = "realtek,rtl838x-mdio";
|
||||
regmap = <ðernet0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <0>;
|
||||
sds = <2>;
|
||||
};
|
||||
|
||||
phy8: ethernet-phy@8 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <8>;
|
||||
sds = <3>;
|
||||
};
|
||||
|
||||
phy16: ethernet-phy@10 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <16>;
|
||||
sds = <4>;
|
||||
};
|
||||
|
||||
phy20: ethernet-phy@14 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <20>;
|
||||
sds = <5>;
|
||||
};
|
||||
|
||||
phy24: ethernet-phy@18 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <24>;
|
||||
sds = <6>;
|
||||
};
|
||||
|
||||
phy25: ethernet-phy@19 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <25>;
|
||||
sds = <7>;
|
||||
};
|
||||
|
||||
phy26: ethernet-phy@1a {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <26>;
|
||||
sds = <8>;
|
||||
};
|
||||
|
||||
phy27: ethernet-phy@1b {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
phy-is-integrated;
|
||||
reg = <27>;
|
||||
sds = <9>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&switch0 {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "lan1";
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp0>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@8 {
|
||||
reg = <8>;
|
||||
label = "lan2";
|
||||
phy-handle = <&phy8>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp1>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@10 {
|
||||
reg = <16>;
|
||||
label = "lan3";
|
||||
phy-handle = <&phy16>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp2>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@14 {
|
||||
reg = <20>;
|
||||
label = "lan4";
|
||||
phy-handle = <&phy20>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp3>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@18 {
|
||||
reg = <24>;
|
||||
label = "lan5";
|
||||
phy-handle = <&phy24>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp4>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@19 {
|
||||
reg = <25>;
|
||||
label = "lan6";
|
||||
phy-handle = <&phy25>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp5>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@1a {
|
||||
reg = <26>;
|
||||
label = "lan7";
|
||||
phy-handle = <&phy26>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp6>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@1b {
|
||||
reg = <27>;
|
||||
label = "lan8";
|
||||
phy-handle = <&phy27>;
|
||||
phy-mode = "10gbase-r";
|
||||
sfp = <&sfp7>;
|
||||
managed = "in-band-status";
|
||||
led-set = <0>;
|
||||
};
|
||||
|
||||
port@1c {
|
||||
ethernet = <ðernet0>;
|
||||
reg = <28>;
|
||||
phy-mode = "internal";
|
||||
|
||||
fixed-link {
|
||||
speed = <10000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -143,6 +143,35 @@
|
||||
|
||||
};
|
||||
|
||||
switchcore@1b000000 {
|
||||
compatible = "syscon", "simple-mfd";
|
||||
reg = <0x1b000000 0x10000>;
|
||||
|
||||
mdio_aux: mdio-aux {
|
||||
compatible = "realtek,rtl9300-aux-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-0 = <&pinmux_gpio_mdio_en>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
pinmux@1b00c600 {
|
||||
compatible = "pinctrl-single";
|
||||
reg = <0x1b00c600 0x4>;
|
||||
|
||||
pinctrl-single,bit-per-mux;
|
||||
pinctrl-single,register-width = <32>;
|
||||
pinctrl-single,function-mask = <0x1>;
|
||||
#pinctrl-cells = <2>;
|
||||
|
||||
pinmux_gpio_mdio_en: gpio-mdio-en {
|
||||
pinctrl-single,bits = <0x0 0x100 0x100>;
|
||||
};
|
||||
};
|
||||
|
||||
pinmux_led: pinmux@1b00cc00 {
|
||||
compatible = "pinctrl-single";
|
||||
reg = <0x1b00cc00 0x4>;
|
||||
|
@ -686,6 +686,7 @@ static void rtl83xx_phylink_get_caps(struct dsa_switch *ds, int port,
|
||||
__set_bit(PHY_INTERFACE_MODE_XGMII, config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_USXGMII, config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_1000BASEX, config->supported_interfaces);
|
||||
__set_bit(PHY_INTERFACE_MODE_10GBASER, config->supported_interfaces);
|
||||
}
|
||||
|
||||
static void rtl83xx_phylink_mac_config(struct dsa_switch *ds, int port,
|
||||
|
@ -1690,7 +1690,7 @@ static int rtl9300_read_status(struct phy_device *phydev)
|
||||
|
||||
if (of_property_read_u32(dn, "sds", &sds_num))
|
||||
sds_num = -1;
|
||||
pr_info("%s: Port %d, SerDes is %d\n", __func__, phy_addr, sds_num);
|
||||
pr_debug("%s: Port %d, SerDes is %d\n", __func__, phy_addr, sds_num);
|
||||
} else {
|
||||
dev_err(dev, "No DT node.\n");
|
||||
return -EINVAL;
|
||||
@ -1700,7 +1700,7 @@ static int rtl9300_read_status(struct phy_device *phydev)
|
||||
return 0;
|
||||
|
||||
mode = rtl9300_sds_mode_get(sds_num);
|
||||
pr_info("%s got SDS mode %02x\n", __func__, mode);
|
||||
pr_debug("%s got SDS mode %02x\n", __func__, mode);
|
||||
if (mode == RTL930X_SDS_OFF)
|
||||
mode = rtl9300_sds_field_r(sds_num, 0x1f, 9, 11, 7);
|
||||
if (mode == RTL930X_SDS_MODE_10GBASER) { /* 10GR mode */
|
||||
@ -1715,7 +1715,7 @@ static int rtl9300_read_status(struct phy_device *phydev)
|
||||
latch_status |= rtl9300_sds_field_r(sds_num, 0x1, 30, 8, 0);
|
||||
}
|
||||
|
||||
pr_info("%s link status: status: %d, latch %d\n", __func__, status, latch_status);
|
||||
pr_debug("%s link status: status: %d, latch %d\n", __func__, status, latch_status);
|
||||
|
||||
if (latch_status) {
|
||||
phydev->link = true;
|
||||
|
@ -1,5 +1,23 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
define Build/xikestor-nosimg
|
||||
$(STAGING_DIR_HOST)/bin/nosimg-enc -i $@ -o $@.new
|
||||
mv $@.new $@
|
||||
endef
|
||||
|
||||
define Device/xikestor_sks8300-8x
|
||||
SOC := rtl9303
|
||||
DEVICE_VENDOR := XikeStor
|
||||
DEVICE_MODEL := SKS8300-8X
|
||||
BLOCKSIZE := 64k
|
||||
KERNEL_SIZE := 8192k
|
||||
IMAGE_SIZE := 30720k
|
||||
IMAGE/sysupgrade.bin := pad-extra 256 | append-kernel | xikestor-nosimg | \
|
||||
jffs2 nos.img -e 4KiB -x lzma | pad-to $$$$(KERNEL_SIZE) | \
|
||||
append-rootfs | pad-rootfs | append-metadata | check-size
|
||||
endef
|
||||
TARGET_DEVICES += xikestor_sks8300-8x
|
||||
|
||||
define Device/zyxel_xgs1250-12
|
||||
SOC := rtl9302
|
||||
UIMAGE_MAGIC := 0x93001250
|
||||
|
@ -85,6 +85,7 @@ CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_HWMON=y
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
CONFIG_I2C=y
|
||||
@ -104,6 +105,7 @@ CONFIG_IRQ_MIPS_CPU=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
# CONFIG_LEDS_RTL8231 is not set
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
CONFIG_MACH_REALTEK_RTL=y
|
||||
@ -112,9 +114,9 @@ CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_I2C=y
|
||||
# CONFIG_MDIO_REALTEK_OTTO_AUX is not set
|
||||
CONFIG_MDIO_REALTEK_OTTO_AUX=y
|
||||
CONFIG_MDIO_SMBUS=y
|
||||
# CONFIG_MFD_RTL8231 is not set
|
||||
CONFIG_MFD_RTL8231=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MIPS=y
|
||||
@ -175,6 +177,7 @@ CONFIG_PHYLIB=y
|
||||
CONFIG_PHYLIB_LEDS=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_RTL8231=y
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_POWER_RESET_SYSCON=y
|
||||
@ -188,6 +191,7 @@ CONFIG_REALTEK_PHY=y
|
||||
CONFIG_REALTEK_SOC_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_REGMAP_MDIO=y
|
||||
CONFIG_REGMAP_MMIO=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RTL838X is not set
|
||||
|
@ -71,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -1002,6 +1002,8 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1003,6 +1003,8 @@ struct dwc3_scratchpad_array {
|
||||
* @bus_clk: clock for accessing the registers
|
||||
* @ref_clk: reference clock
|
||||
* @susp_clk: clock used when the SS phy is in low power (S3) state
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
* @reset: reset control
|
||||
* @regs: base address for our registers
|
||||
* @regs_size: address space size
|
||||
@@ -1174,6 +1176,8 @@ struct dwc3 {
|
||||
@@ -1175,6 +1177,8 @@ struct dwc3 {
|
||||
struct clk *bus_clk;
|
||||
struct clk *ref_clk;
|
||||
struct clk *susp_clk;
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
|
||||
+ uart->probe = up->probe;
|
||||
|
||||
if (uart->port.type != PORT_8250_CIR) {
|
||||
if (serial8250_isa_config != NULL)
|
||||
if (uart_console_registered(&uart->port))
|
||||
--- a/drivers/tty/serial/8250/8250_dw.c
|
||||
+++ b/drivers/tty/serial/8250/8250_dw.c
|
||||
@@ -612,6 +612,9 @@ static int dw8250_probe(struct platform_
|
||||
|
@ -11,9 +11,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git
|
||||
PKG_SOURCE_DATE:=2024-10-20
|
||||
PKG_SOURCE_VERSION:=4b7638925d3eac03e614e40bc30cb49f5877c46d
|
||||
PKG_MIRROR_HASH:=ea0e30f2b20211e4153704019ebb3f8789269893a4af6d853a85fae7c091802c
|
||||
PKG_SOURCE_DATE:=2025-01-14
|
||||
PKG_SOURCE_VERSION:=12c0b42231bee58b3cd7cbe95c33de2685484a4f
|
||||
PKG_MIRROR_HASH:=50d872a5069f9f672de5ea9efcf00872bcce27ec52bbb69fff3785abcee1c77c
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
Loading…
x
Reference in New Issue
Block a user