Lines Matching refs:info

159 static int sdsi_mbox_cmd_read(struct sdsi_priv *priv, struct sdsi_mbox_info *info,
173 FIELD_PREP(CTRL_PACKET_SIZE, info->size);
180 void *buf = info->buffer + (SDSI_SIZE_MAILBOX * loop);
238 static int sdsi_mbox_cmd_write(struct sdsi_priv *priv, struct sdsi_mbox_info *info)
247 sdsi_memcpy64_toio(priv->mbox_addr + SDSI_SIZE_CMD, info->payload + 1,
248 info->size - SDSI_SIZE_CMD);
255 FIELD_PREP(CTRL_PACKET_SIZE, info->size);
274 static int sdsi_mbox_acquire(struct sdsi_priv *priv, struct sdsi_mbox_info *info)
295 writeq(info->payload[0], priv->mbox_addr);
315 static int sdsi_mbox_write(struct sdsi_priv *priv, struct sdsi_mbox_info *info)
321 ret = sdsi_mbox_acquire(priv, info);
325 return sdsi_mbox_cmd_write(priv, info);
328 static int sdsi_mbox_read(struct sdsi_priv *priv, struct sdsi_mbox_info *info, size_t *data_size)
334 ret = sdsi_mbox_acquire(priv, info);
338 return sdsi_mbox_cmd_read(priv, info, data_size);
344 struct sdsi_mbox_info info;
351 info.size = round_up(count, SDSI_SIZE_CMD) + SDSI_SIZE_CMD;
353 info.payload = kzalloc(info.size, GFP_KERNEL);
354 if (!info.payload)
358 memcpy(info.payload, buf, count);
361 info.payload[(info.size - SDSI_SIZE_CMD) / SDSI_SIZE_CMD] = command;
366 ret = sdsi_mbox_write(priv, &info);
370 kfree(info.payload);
410 struct sdsi_mbox_info info;
418 info.buffer = kmalloc(SDSI_SIZE_READ_MSG, GFP_KERNEL);
419 if (!info.buffer)
422 info.payload = &command;
423 info.size = sizeof(command);
428 ret = sdsi_mbox_read(priv, &info, &size);
436 memcpy(buf, info.buffer, size);
439 kfree(info.buffer);
641 /* Get guid based layout info */