Commit 8c274d69 authored by Daniel Machon's avatar Daniel Machon Committed by Paolo Abeni
Browse files

net: sparx5: ops out PTP IRQ handler



The PTP registers are located in two different register targets on
Sparx5 and lan969x. We can't handle this with the register macros, so
ops out the handler.

Reviewed-by: default avatarSteen Hegelund <Steen.Hegelund@microchip.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Signed-off-by: default avatarDaniel Machon <daniel.machon@microchip.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent b7e09ddb
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -605,6 +605,7 @@ static int sparx5_start(struct sparx5 *sparx5)
{
	u8 broadcast[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
	const struct sparx5_consts *consts = sparx5->data->consts;
	const struct sparx5_ops *ops = sparx5->data->ops;
	char queue_name[32];
	u32 idx;
	int err;
@@ -729,7 +730,7 @@ static int sparx5_start(struct sparx5 *sparx5)

	if (sparx5->ptp_irq >= 0) {
		err = devm_request_threaded_irq(sparx5->dev, sparx5->ptp_irq,
						NULL, sparx5_ptp_irq_handler,
						NULL, ops->ptp_irq_handler,
						IRQF_ONESHOT, "sparx5-ptp",
						sparx5);
		if (err)
@@ -993,6 +994,7 @@ static const struct sparx5_ops sparx5_ops = {
	.get_hsch_max_group_rate = &sparx5_get_hsch_max_group_rate,
	.get_sdlb_group          = &sparx5_get_sdlb_group,
	.set_port_mux            = &sparx5_port_mux_set,
	.ptp_irq_handler         = &sparx5_ptp_irq_handler,
};

static const struct sparx5_match_data sparx5_desc = {
+2 −0
Original line number Diff line number Diff line
@@ -269,6 +269,8 @@ struct sparx5_ops {
	struct sparx5_sdlb_group *(*get_sdlb_group)(int idx);
	int (*set_port_mux)(struct sparx5 *sparx5, struct sparx5_port *port,
			    struct sparx5_port_config *conf);

	irqreturn_t (*ptp_irq_handler)(int irq, void *args);
};

struct sparx5_main_io_resource {