mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 18:54:09 +08:00
add09d61fe
Use the __get_free_pages wrapper in clp_alloc_block. Also change the allocation to use one page only. This page is used as CLP response block e.g. to list available pci functions. Using one page we can list > 250 pci functions at once and we have code to loop around this CLP command (if not all functions fit into to the CLP block) already in place. Acked-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
29 lines
827 B
C
29 lines
827 B
C
#ifndef _ASM_S390_CLP_H
|
|
#define _ASM_S390_CLP_H
|
|
|
|
/* CLP common request & response block size */
|
|
#define CLP_BLK_SIZE PAGE_SIZE
|
|
|
|
struct clp_req_hdr {
|
|
u16 len;
|
|
u16 cmd;
|
|
} __packed;
|
|
|
|
struct clp_rsp_hdr {
|
|
u16 len;
|
|
u16 rsp;
|
|
} __packed;
|
|
|
|
/* CLP Response Codes */
|
|
#define CLP_RC_OK 0x0010 /* Command request successfully */
|
|
#define CLP_RC_CMD 0x0020 /* Command code not recognized */
|
|
#define CLP_RC_PERM 0x0030 /* Command not authorized */
|
|
#define CLP_RC_FMT 0x0040 /* Invalid command request format */
|
|
#define CLP_RC_LEN 0x0050 /* Invalid command request length */
|
|
#define CLP_RC_8K 0x0060 /* Command requires 8K LPCB */
|
|
#define CLP_RC_RESNOT0 0x0070 /* Reserved field not zero */
|
|
#define CLP_RC_NODATA 0x0080 /* No data available */
|
|
#define CLP_RC_FC_UNKNOWN 0x0100 /* Function code not recognized */
|
|
|
|
#endif
|