lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Mon, 9 Aug 2021 13:14:13 +1000
From:   Stephen Rothwell <sfr@...b.auug.org.au>
To:     David Miller <davem@...emloft.net>,
        Networking <netdev@...r.kernel.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>,
        Michael Chan <michael.chan@...adcom.com>,
        Pavan Chebbi <pavan.chebbi@...adcom.com>
Subject: linux-next: manual merge of the net-next tree with the net tree

Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h

between commit:

  9e26680733d5 ("bnxt_en: Update firmware call to retrieve TX PTP timestamp")

from the net tree and commits:

  9e518f25802c ("bnxt_en: 1PPS functions to configure TSIO pins")
  099fdeda659d ("bnxt_en: Event handler for PPS events")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
index 524f1c272054,cc3cdbaab6cf..000000000000
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
@@@ -19,9 -19,58 +19,59 @@@
  
  #define BNXT_PTP_QTS_TIMEOUT	1000
  #define BNXT_PTP_QTS_TX_ENABLES	(PORT_TS_QUERY_REQ_ENABLES_PTP_SEQ_ID |	\
 -				 PORT_TS_QUERY_REQ_ENABLES_TS_REQ_TIMEOUT)
 +				 PORT_TS_QUERY_REQ_ENABLES_TS_REQ_TIMEOUT | \
 +				 PORT_TS_QUERY_REQ_ENABLES_PTP_HDR_OFFSET)
  
+ struct pps_pin {
+ 	u8 event;
+ 	u8 usage;
+ 	u8 state;
+ };
+ 
+ #define TSIO_PIN_VALID(pin) ((pin) < (BNXT_MAX_TSIO_PINS))
+ 
+ #define EVENT_DATA2_PPS_EVENT_TYPE(data2)				\
+ 	((data2) & ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE)
+ 
+ #define EVENT_DATA2_PPS_PIN_NUM(data2)					\
+ 	(((data2) &							\
+ 	  ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PIN_NUMBER_MASK) >>\
+ 	 ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PIN_NUMBER_SFT)
+ 
+ #define BNXT_DATA2_UPPER_MSK						\
+ 	ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PPS_TIMESTAMP_UPPER_MASK
+ 
+ #define BNXT_DATA2_UPPER_SFT						\
+ 	(32 -								\
+ 	 ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PPS_TIMESTAMP_UPPER_SFT)
+ 
+ #define BNXT_DATA1_LOWER_MSK						\
+ 	ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA1_PPS_TIMESTAMP_LOWER_MASK
+ 
+ #define BNXT_DATA1_LOWER_SFT						\
+ 	  ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA1_PPS_TIMESTAMP_LOWER_SFT
+ 
+ #define EVENT_PPS_TS(data2, data1)					\
+ 	(((u64)((data2) & BNXT_DATA2_UPPER_MSK) << BNXT_DATA2_UPPER_SFT) |\
+ 	 (((data1) & BNXT_DATA1_LOWER_MSK) >> BNXT_DATA1_LOWER_SFT))
+ 
+ #define BNXT_PPS_PIN_DISABLE	0
+ #define BNXT_PPS_PIN_ENABLE	1
+ #define BNXT_PPS_PIN_NONE	0
+ #define BNXT_PPS_PIN_PPS_IN	1
+ #define BNXT_PPS_PIN_PPS_OUT	2
+ #define BNXT_PPS_PIN_SYNC_IN	3
+ #define BNXT_PPS_PIN_SYNC_OUT	4
+ 
+ #define BNXT_PPS_EVENT_INTERNAL	1
+ #define BNXT_PPS_EVENT_EXTERNAL	2
+ 
+ struct bnxt_pps {
+ 	u8 num_pins;
+ #define BNXT_MAX_TSIO_PINS	4
+ 	struct pps_pin pins[BNXT_MAX_TSIO_PINS];
+ };
+ 
  struct bnxt_ptp_cfg {
  	struct ptp_clock_info	ptp_info;
  	struct ptp_clock	*ptp_clock;
@@@ -76,7 -125,9 +127,9 @@@ do {						
  	((dst) = READ_ONCE(src))
  #endif
  
 -int bnxt_ptp_parse(struct sk_buff *skb, u16 *seq_id);
 +int bnxt_ptp_parse(struct sk_buff *skb, u16 *seq_id, u16 *hdr_off);
+ void bnxt_ptp_pps_event(struct bnxt *bp, u32 data1, u32 data2);
+ void bnxt_ptp_reapply_pps(struct bnxt *bp);
  int bnxt_hwtstamp_set(struct net_device *dev, struct ifreq *ifr);
  int bnxt_hwtstamp_get(struct net_device *dev, struct ifreq *ifr);
  int bnxt_get_tx_ts_p5(struct bnxt *bp, struct sk_buff *skb);

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ