162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef S390_CIO_IOASM_H 362306a36Sopenharmony_ci#define S390_CIO_IOASM_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <asm/chpid.h> 662306a36Sopenharmony_ci#include <asm/schid.h> 762306a36Sopenharmony_ci#include <asm/crw.h> 862306a36Sopenharmony_ci#include "orb.h" 962306a36Sopenharmony_ci#include "cio.h" 1062306a36Sopenharmony_ci#include "trace.h" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/* 1362306a36Sopenharmony_ci * Some S390 specific IO instructions 1462306a36Sopenharmony_ci */ 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciint stsch(struct subchannel_id schid, struct schib *addr); 1762306a36Sopenharmony_ciint msch(struct subchannel_id schid, struct schib *addr); 1862306a36Sopenharmony_ciint tsch(struct subchannel_id schid, struct irb *addr); 1962306a36Sopenharmony_ciint ssch(struct subchannel_id schid, union orb *addr); 2062306a36Sopenharmony_ciint csch(struct subchannel_id schid); 2162306a36Sopenharmony_ciint tpi(struct tpi_info *addr); 2262306a36Sopenharmony_ciint chsc(void *chsc_area); 2362306a36Sopenharmony_ciint rsch(struct subchannel_id schid); 2462306a36Sopenharmony_ciint hsch(struct subchannel_id schid); 2562306a36Sopenharmony_ciint xsch(struct subchannel_id schid); 2662306a36Sopenharmony_ciint stcrw(struct crw *crw); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#endif 29