Skip to content

Commit 4fa55fa

Browse files
julianwiedmanndavem330
authored andcommitted
s390/qeth: remove two IPA command helpers
qeth_l3_send_ipa_arp_cmd() is merely a wrapper around qeth_send_control_data() now. So push the length adjustment into QETH_SETASS_BASE_LEN, and remove the wrapper. While at it, also remove some redundant 0-initializations. qeth_send_setassparms() requires that callers prepare their command parameters, so that they can be copied into the parameter area in one go. Skip the indirection, and just let callers set up the command themselves. Signed-off-by: Julian Wiedmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 605c9d5 commit 4fa55fa

File tree

3 files changed

+19
-59
lines changed

3 files changed

+19
-59
lines changed

drivers/s390/net/qeth_core_main.c

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5475,34 +5475,11 @@ struct qeth_cmd_buffer *qeth_get_setassparms_cmd(struct qeth_card *card,
54755475
}
54765476
EXPORT_SYMBOL_GPL(qeth_get_setassparms_cmd);
54775477

5478-
static int qeth_send_setassparms(struct qeth_card *card,
5479-
struct qeth_cmd_buffer *iob, u16 len,
5480-
long data, int (*reply_cb)(struct qeth_card *,
5481-
struct qeth_reply *,
5482-
unsigned long),
5483-
void *reply_param)
5484-
{
5485-
int rc;
5486-
struct qeth_ipa_cmd *cmd;
5487-
5488-
QETH_CARD_TEXT(card, 4, "sendassp");
5489-
5490-
cmd = __ipa_cmd(iob);
5491-
if (len <= sizeof(__u32))
5492-
cmd->data.setassparms.data.flags_32bit = (__u32) data;
5493-
else /* (len > sizeof(__u32)) */
5494-
memcpy(&cmd->data.setassparms.data, (void *) data, len);
5495-
5496-
rc = qeth_send_ipa_cmd(card, iob, reply_cb, reply_param);
5497-
return rc;
5498-
}
5499-
55005478
int qeth_send_simple_setassparms_prot(struct qeth_card *card,
55015479
enum qeth_ipa_funcs ipa_func,
55025480
u16 cmd_code, long data,
55035481
enum qeth_prot_versions prot)
55045482
{
5505-
int rc;
55065483
int length = 0;
55075484
struct qeth_cmd_buffer *iob;
55085485

@@ -5512,9 +5489,9 @@ int qeth_send_simple_setassparms_prot(struct qeth_card *card,
55125489
iob = qeth_get_setassparms_cmd(card, ipa_func, cmd_code, length, prot);
55135490
if (!iob)
55145491
return -ENOMEM;
5515-
rc = qeth_send_setassparms(card, iob, length, data,
5516-
qeth_setassparms_cb, NULL);
5517-
return rc;
5492+
5493+
__ipa_cmd(iob)->data.setassparms.data.flags_32bit = (__u32) data;
5494+
return qeth_send_ipa_cmd(card, iob, qeth_setassparms_cb, NULL);
55185495
}
55195496
EXPORT_SYMBOL_GPL(qeth_send_simple_setassparms_prot);
55205497

@@ -6385,16 +6362,16 @@ static int qeth_ipa_checksum_run_cmd(struct qeth_card *card,
63856362
enum qeth_prot_versions prot)
63866363
{
63876364
struct qeth_cmd_buffer *iob;
6388-
int rc = -ENOMEM;
63896365

63906366
QETH_CARD_TEXT(card, 4, "chkdocmd");
63916367
iob = qeth_get_setassparms_cmd(card, ipa_func, cmd_code,
63926368
sizeof(__u32), prot);
6393-
if (iob)
6394-
rc = qeth_send_setassparms(card, iob, sizeof(__u32), data,
6395-
qeth_ipa_checksum_run_cmd_cb,
6396-
chksum_cb);
6397-
return rc;
6369+
if (!iob)
6370+
return -ENOMEM;
6371+
6372+
__ipa_cmd(iob)->data.setassparms.data.flags_32bit = (__u32) data;
6373+
return qeth_send_ipa_cmd(card, iob, qeth_ipa_checksum_run_cmd_cb,
6374+
chksum_cb);
63986375
}
63996376

64006377
static int qeth_send_checksum_on(struct qeth_card *card, int cstype,
@@ -6492,8 +6469,7 @@ static int qeth_set_tso_on(struct qeth_card *card,
64926469
if (!iob)
64936470
return -ENOMEM;
64946471

6495-
rc = qeth_send_setassparms(card, iob, 0, 0 /* unused */,
6496-
qeth_start_tso_cb, &tso_data);
6472+
rc = qeth_send_ipa_cmd(card, iob, qeth_start_tso_cb, &tso_data);
64976473
if (rc)
64986474
return rc;
64996475

@@ -6510,10 +6486,9 @@ static int qeth_set_tso_on(struct qeth_card *card,
65106486
}
65116487

65126488
/* enable TSO capability */
6513-
caps.supported = 0;
6514-
caps.enabled = QETH_IPA_LARGE_SEND_TCP;
6515-
rc = qeth_send_setassparms(card, iob, sizeof(caps), (long) &caps,
6516-
qeth_setassparms_get_caps_cb, &caps);
6489+
__ipa_cmd(iob)->data.setassparms.data.caps.enabled =
6490+
QETH_IPA_LARGE_SEND_TCP;
6491+
rc = qeth_send_ipa_cmd(card, iob, qeth_setassparms_get_caps_cb, &caps);
65176492
if (rc) {
65186493
qeth_set_tso_off(card, prot);
65196494
return rc;

drivers/s390/net/qeth_core_mpc.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -833,10 +833,9 @@ enum qeth_ipa_arp_return_codes {
833833
extern const char *qeth_get_ipa_msg(enum qeth_ipa_return_codes rc);
834834
extern const char *qeth_get_ipa_cmd_name(enum qeth_ipa_cmds cmd);
835835

836-
#define QETH_SETASS_BASE_LEN (sizeof(struct qeth_ipacmd_hdr) + \
837-
sizeof(struct qeth_ipacmd_setassparms_hdr))
838-
#define QETH_IPA_ARP_DATA_POS(buffer) (buffer + IPA_PDU_HEADER_SIZE + \
839-
QETH_SETASS_BASE_LEN)
836+
#define QETH_SETASS_BASE_LEN (IPA_PDU_HEADER_SIZE + \
837+
sizeof(struct qeth_ipacmd_hdr) + \
838+
sizeof(struct qeth_ipacmd_setassparms_hdr))
840839
#define QETH_SETADP_BASE_LEN (sizeof(struct qeth_ipacmd_hdr) + \
841840
sizeof(struct qeth_ipacmd_setadpparms_hdr))
842841
#define QETH_SNMP_SETADP_CMDLENGTH 16

drivers/s390/net/qeth_l3_main.c

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1685,18 +1685,6 @@ static int qeth_l3_arp_query_cb(struct qeth_card *card,
16851685
return 0;
16861686
}
16871687

1688-
static int qeth_l3_send_ipa_arp_cmd(struct qeth_card *card,
1689-
struct qeth_cmd_buffer *iob, int len,
1690-
int (*reply_cb)(struct qeth_card *, struct qeth_reply *,
1691-
unsigned long),
1692-
void *reply_param)
1693-
{
1694-
QETH_CARD_TEXT(card, 4, "sendarp");
1695-
1696-
return qeth_send_control_data(card, IPA_PDU_HEADER_SIZE + len, iob,
1697-
reply_cb, reply_param);
1698-
}
1699-
17001688
static int qeth_l3_query_arp_cache_info(struct qeth_card *card,
17011689
enum qeth_prot_versions prot,
17021690
struct qeth_arp_query_info *qinfo)
@@ -1716,11 +1704,9 @@ static int qeth_l3_query_arp_cache_info(struct qeth_card *card,
17161704
return -ENOMEM;
17171705
cmd = __ipa_cmd(iob);
17181706
cmd->data.setassparms.data.query_arp.request_bits = 0x000F;
1719-
cmd->data.setassparms.data.query_arp.reply_bits = 0;
1720-
cmd->data.setassparms.data.query_arp.no_entries = 0;
1721-
rc = qeth_l3_send_ipa_arp_cmd(card, iob,
1722-
QETH_SETASS_BASE_LEN+QETH_ARP_CMD_LEN,
1723-
qeth_l3_arp_query_cb, (void *)qinfo);
1707+
rc = qeth_send_control_data(card,
1708+
QETH_SETASS_BASE_LEN + QETH_ARP_CMD_LEN,
1709+
iob, qeth_l3_arp_query_cb, qinfo);
17241710
if (rc)
17251711
QETH_DBF_MESSAGE(2, "Error while querying ARP cache on device %x: %#x\n",
17261712
CARD_DEVID(card), rc);

0 commit comments

Comments
 (0)