mlxsw_i2c          98 drivers/net/ethernet/mellanox/mlxsw/i2c.c mlxsw_i2c_convert_mbox(struct mlxsw_i2c *mlxsw_i2c, u8 *buf)
mlxsw_i2c         104 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->cmd.mb_off_in = tmp &
mlxsw_i2c         106 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->cmd.mb_size_in = (tmp & GENMASK(31,
mlxsw_i2c         111 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->cmd.mb_off_out = tmp &
mlxsw_i2c         113 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->cmd.mb_size_out = (tmp & GENMASK(31,
mlxsw_i2c         136 drivers/net/ethernet/mellanox/mlxsw/i2c.c 				 struct mlxsw_i2c *mlxsw_i2c, u8 *p_status)
mlxsw_i2c         180 drivers/net/ethernet/mellanox/mlxsw/i2c.c 			       struct mlxsw_i2c *mlxsw_i2c,
mlxsw_i2c         227 drivers/net/ethernet/mellanox/mlxsw/i2c.c 			 struct mlxsw_i2c *mlxsw_i2c, u16 opcode, u32 in_mod)
mlxsw_i2c         268 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_i2c_wait_go_bit(client, mlxsw_i2c, &status);
mlxsw_i2c         286 drivers/net/ethernet/mellanox/mlxsw/i2c.c 			      struct mlxsw_i2c *mlxsw_i2c)
mlxsw_i2c         306 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c_convert_mbox(mlxsw_i2c, &buf[MLXSW_I2C_MBOX_OUT_PARAM_OFF]);
mlxsw_i2c         317 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c = i2c_get_clientdata(client);
mlxsw_i2c         319 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	int off = mlxsw_i2c->cmd.mb_off_in, chunk_size, i, j;
mlxsw_i2c         326 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	tran_buf = kmalloc(mlxsw_i2c->block_size + MLXSW_I2C_ADDR_BUF_SIZE,
mlxsw_i2c         333 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		chunk_size = (in_mbox_size > mlxsw_i2c->block_size) ?
mlxsw_i2c         334 drivers/net/ethernet/mellanox/mlxsw/i2c.c 			     mlxsw_i2c->block_size : in_mbox_size;
mlxsw_i2c         338 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		       mlxsw_i2c->block_size * i, chunk_size);
mlxsw_i2c         363 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_i2c_write_cmd(client, mlxsw_i2c, 0);
mlxsw_i2c         371 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_i2c_wait_go_bit(client, mlxsw_i2c, p_status);
mlxsw_i2c         395 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c = i2c_get_clientdata(client);
mlxsw_i2c         399 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	int off = mlxsw_i2c->cmd.mb_off_out;
mlxsw_i2c         409 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		num = reg_size / mlxsw_i2c->block_size;
mlxsw_i2c         410 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		if (reg_size % mlxsw_i2c->block_size)
mlxsw_i2c         413 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		if (mutex_lock_interruptible(&mlxsw_i2c->cmd.lock) < 0) {
mlxsw_i2c         424 drivers/net/ethernet/mellanox/mlxsw/i2c.c 			mutex_unlock(&mlxsw_i2c->cmd.lock);
mlxsw_i2c         430 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		num = reg_size / mlxsw_i2c->block_size;
mlxsw_i2c         432 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		if (mutex_lock_interruptible(&mlxsw_i2c->cmd.lock) < 0) {
mlxsw_i2c         437 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		err = mlxsw_i2c_write_init_cmd(client, mlxsw_i2c, opcode,
mlxsw_i2c         446 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		chunk_size = (reg_size > mlxsw_i2c->block_size) ?
mlxsw_i2c         447 drivers/net/ethernet/mellanox/mlxsw/i2c.c 			     mlxsw_i2c->block_size : reg_size;
mlxsw_i2c         475 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mutex_unlock(&mlxsw_i2c->cmd.lock);
mlxsw_i2c         480 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mutex_unlock(&mlxsw_i2c->cmd.lock);
mlxsw_i2c         490 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c = bus_priv;
mlxsw_i2c         492 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	return mlxsw_i2c_cmd(mlxsw_i2c->dev, opcode, in_mod, in_mbox_size,
mlxsw_i2c         513 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c = bus_priv;
mlxsw_i2c         517 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->core = mlxsw_core;
mlxsw_i2c         527 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.fw_rev.major =
mlxsw_i2c         529 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.fw_rev.minor =
mlxsw_i2c         531 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.fw_rev.subminor =
mlxsw_i2c         543 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c = bus_priv;
mlxsw_i2c         545 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->core = NULL;
mlxsw_i2c         561 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c;
mlxsw_i2c         565 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c = devm_kzalloc(&client->dev, sizeof(*mlxsw_i2c), GFP_KERNEL);
mlxsw_i2c         566 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	if (!mlxsw_i2c)
mlxsw_i2c         578 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		mlxsw_i2c->block_size = max_t(u16, MLXSW_I2C_BLK_DEF,
mlxsw_i2c         582 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		mlxsw_i2c->block_size = MLXSW_I2C_BLK_DEF;
mlxsw_i2c         585 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	i2c_set_clientdata(client, mlxsw_i2c);
mlxsw_i2c         586 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mutex_init(&mlxsw_i2c->cmd.lock);
mlxsw_i2c         601 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_i2c_write_cmd(client, mlxsw_i2c, 1);
mlxsw_i2c         608 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_i2c_wait_go_bit(client, mlxsw_i2c, &status);
mlxsw_i2c         623 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_i2c_get_mbox(client, mlxsw_i2c);
mlxsw_i2c         630 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		 id->name, mlxsw_i2c->cmd.mb_size_in,
mlxsw_i2c         631 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		 mlxsw_i2c->cmd.mb_off_in, mlxsw_i2c->cmd.mb_size_out,
mlxsw_i2c         632 drivers/net/ethernet/mellanox/mlxsw/i2c.c 		 mlxsw_i2c->cmd.mb_off_out);
mlxsw_i2c         635 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.device_kind = id->name;
mlxsw_i2c         636 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.device_name = client->name;
mlxsw_i2c         637 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.dev = &client->dev;
mlxsw_i2c         638 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->bus_info.low_frequency = true;
mlxsw_i2c         639 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_i2c->dev = &client->dev;
mlxsw_i2c         641 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	err = mlxsw_core_bus_device_register(&mlxsw_i2c->bus_info,
mlxsw_i2c         642 drivers/net/ethernet/mellanox/mlxsw/i2c.c 					     &mlxsw_i2c_bus, mlxsw_i2c, false,
mlxsw_i2c         659 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	struct mlxsw_i2c *mlxsw_i2c = i2c_get_clientdata(client);
mlxsw_i2c         661 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mlxsw_core_bus_device_unregister(mlxsw_i2c->core, false);
mlxsw_i2c         662 drivers/net/ethernet/mellanox/mlxsw/i2c.c 	mutex_destroy(&mlxsw_i2c->cmd.lock);